
数据库
纹路猫
目前专注于微软系产品,sharepoint、Office365、power platform
展开
-
SQL Server2012导出sql脚本并还原数据库
有些数据库无法支持bak备份和还原,只能通过sql脚本的方式导出和导入。步骤:1、选中数据库>任务>生成脚本2、选择具体的数据库对象>选择所有表和存储过程>下一步3、点击高级4、选择架构和数据4、下一步就等待执行完毕接口5、导入。基本上就只打开导出的sql文件执行即可,但是有时候文件太大导致无法打开文件,这时候可以使用命令行执行。sqlcmd -S MSCNB0000106\MSSQLSERVER01 -d DemoDB -U u.原创 2021-03-07 21:38:45 · 971 阅读 · 1 评论 -
Where条件的in里面放太多数据导致很慢
比如:select * from TableA where ID in (42,216,219,230,231,220,249,250,221,251,252,217,253,255,256,254,257,258,1804)52W数据,查询速度19386ms,好慢怎么办?程序都卡死了。 那么试一下百度搜索到的优化方式?1.将in里面的ID分拆查询,再合并数据select原创 2017-04-24 18:46:07 · 24742 阅读 · 5 评论 -
sql server 2008导出数据注意事项
使用导出数据到另外的数据库,如果源数据表在导出目标数据库不存在的话,导出没有问题。如果存在且字段名称一样,要把目标数据库里的关系去掉,否则导出失败。(这里说的是数据导出,覆盖原来表)原创 2017-04-24 18:45:50 · 372 阅读 · 0 评论 -
sqlite 获取当天当周当月等数据
----昨天select * from 表 where Time>=datetime('now','start of day','-1 day') and Timedatetime('now','start of day','+0 day')----当天select * from 表 where Time>=datetime('now','start of day','+0 day原创 2017-04-24 18:44:41 · 5379 阅读 · 0 评论 -
数据库修改保存的时候报超时
超时时间已到。在操作完成之前超时时间已过或服务器未响应有时候修改表信息,保存的时候,由于数据量大响应需要一些时间,把超时时间设置大一点即可。原创 2017-04-24 18:44:00 · 1916 阅读 · 0 评论 -
关于varchar与nvarchar的“N”,特殊字符没法存储怎么办
如果你每次建数据表的时候固执的使用varchar,那么你可能会遇到以下的问题: 现在saleUserName的字段类型为varchar(50)update TableName set saleUserName='小覃祝你⑭快乐' where ID=87 select * from TableName where ID=87 why?SaleUserName字段里的文字原创 2017-04-24 18:43:58 · 4630 阅读 · 1 评论 -
sql语句数据库备份和还原
BACKUP DATABASE Qiu_DB to DISK='D:\mydb.bak'RESTORE DATABASE Qiu_DBFROM DISK = 'd:\mydb.bak'with replace,MOVE 'Qiu_DB' TO 'D:\Qiu_DB.mdf',MOVE 'Qiu_DB_log' TO 'D:\Qiu_DB.ldf'转载 2014-10-16 15:41:25 · 637 阅读 · 0 评论 -
不知道一次执行几条sql语句和分批次执行那个更有效率
听说要少请求。于是我想一次执行几条sql语句。declare @Y int declare @D int declare @S intselect @S=count(*) from Sys_MenPiaoOrderselect @Y=count(*) from Sys_MenPiaoOrder where status='已支付';select @D=count(*) from S原创 2014-10-16 15:37:16 · 1080 阅读 · 0 评论 -
改变顺序存储过程
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoALTER procedure [dbo].[Proc_PicOrderMove] @SID int, @type varchar(50)asbegin declare @NowPicOrder int;declare @PrevSID int;declare @NextSID原创 2014-10-15 21:08:59 · 956 阅读 · 0 评论 -
Sql Server生成订单号
在SQL Server中生成订单号的方法有许多种,现归纳如下:SQL语句:select replace(substring(convert(varchar(20),getdate(),120),1,10),’-’,’’)+cast(MAX(订单号)+1 as varchar(4))使用存储过程 --创建测试表create table usertable(userid var转载 2012-06-12 11:23:18 · 1625 阅读 · 0 评论 -
sql 添加登录用户
在数据库的安全性-登录名选择-新建登录名选择sql server身份验证,填入密码。去掉勾选“强制密码过期”和“用户在下次登录时必须更改密码”默认数据库选择所要操作的数据库名称。左边选择“用户映射”,勾选所要操作的数据库。确定即可。 此时会在你要操作的数据库-安全性-用户 生成一个用户,即你上面新建的登录名你还要选择用户名-属性此用户拥有框架:db_owner原创 2014-10-16 15:37:48 · 749 阅读 · 0 评论 -
sql where后面字段赋值参数不能为text,于是改成varchar
create proc proc_Mdata @where varchar(500),--条件 @msetdate datetime--当天时间asbegin--声明空白数据DECLARE @tbnull TABLE(id INT,[time] DATETIME,[count] INT)--递增变量DECLARE @day INTSET @day=0--当月天数DECLARE原创 2014-10-15 21:08:06 · 1488 阅读 · 0 评论 -
sqlserver生成规则订单号
declare @count int;declare @order varchar(8);declare @zero int;declare @temp varchar(8);declare @num int;select @count=1set @zero=7-len(@count+1);if(@zero>0)begin set @num=0; set @temp='';原创 2014-10-15 21:07:03 · 3175 阅读 · 0 评论 -
临时表的使用
declare @count3 int,@count7 int,@count int,@countMore int;select @count3=count(*) from Exam_QuesContent where DateDiff(d,addDate,getdate())3 --最近三天select @count7=count(*) from Exam_QuesContent wher转载 2014-10-15 21:10:43 · 556 阅读 · 0 评论 -
创建sql自定函数来判断两个值得相似度
create FUNCTION fn_GetSimilar ( @StrA As Varchar(255), --传入的待比较的字符 @StrB As Varchar(255) --期望字符)RETURNS int ASBEGIN DECLARE @Result int declare @lenA int declare @len转载 2014-10-15 21:09:58 · 2992 阅读 · 0 评论 -
数据库备份(sqlserver 2005)
新建数据库,不要求数据库名称一致。注意,被还原数据库若处于分离状态,可以选中数据库“分离”,勾选“删除连接”。在sqlserver2005的管理界面上选中新建数据库,右键“任务”>“还原”>数据库,弹出“还原数据库”窗口。勾选“源设备”,点击旁边的“..”浏览按钮,弹出“指定备份”窗口,点击“添加”,选择你的备份文件,确定。勾选两个备份的数据库数据文件和数据库日志文原创 2014-10-15 21:02:39 · 460 阅读 · 0 评论 -
sql分页存储过程
分页原理:SELECT TOP 页大小 *FROM 表WHERE A=xx and (ID NOT IN (SELECT TOP 页大小*页数 id FROM 表 where A=xx ORDER BY id))ORDER BY ID复杂的分页逻辑,需要自己编写,并没有通用的分页存储过程。以下仅是一般常常使用的分页存储过程:...原创 2014-10-15 21:11:25 · 623 阅读 · 0 评论