随笔分类 - SQL Server
摘要:今天遇到一个奇葩的问题:在where条件中用了 m in(×××) or m>=10,查询直接超时,我看了一下,数据库中就2万条数据我将查询改为了union all 结果就不超时了
阅读全文
摘要:方法一:DECLARE @employeeid INT;set @employeeid = 8115;DECLARE @id INT;DECLARE @pid int;DECLARE @level int;SET @id=-1--获取父节点idSELECT @id = RecID, @pid = P...
阅读全文
摘要:UPDATE aSET a.AssignUserID=b.UserIDFROM LeadsTask aINNER JOIN ProjectTask_Employee b ON a.TaskID=b.PTIDWHERE a.Status=2 AND ISNULL(a.AssignUserID,-2)0
阅读全文
摘要:今天遇到一个问题:想把sql字符串在SQL Server 中执行了,并获取执行的结果 DECLARE @tablename NVARCHAR(300); SET @tablename='select @table3 = count(1) from UserVisitLog'; DE...
阅读全文
摘要:今天修改之前一个同事写的代码,发现方法中直接执行了两个sql语句,一个是删除用户,一个是删除该用户的权限。由于数据库数据比较多,导致有时候这个两个sql不能都执行成功,数据库出现了脏数据。鉴于这个原因,我把两个sql放到了一个存储过程中执行,在存储过程中添加事务,使其要么都执行,要么都不执行。代码框...
阅读全文
摘要:相同点:1.truncate和不带where子句的delete、以及drop都会删除表内的数据。2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。不同点:1. truncate 和 delete 只删除数据不删除表的结构(定义)drop 语句将删除表的结构被依赖的约束(...
阅读全文
摘要:1.day(date) 用途:获取日期是所在月的几号参数:date是一个可以解析为 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值的表达式、列表达式、用户定义的变量或字符串文字返回值:一个整数,该整数表示指定的 date ...
阅读全文
摘要:今天遇到了一个奇葩的问题:存储过程中的sql字符串拼接的太长,超出了分页存储过程执行sql参数的nvarchar(4000)的长度。没办法,只能修改自己的存储过程,因为分页存储过程是不能动的。开始想到的方法是将里层的select语句抽出来,用exec(strInnerSql)执行,将查询胡来的数据放...
阅读全文
摘要:将查询出来的数据直接用“INTO #临时表名称”的方式完成临时表的创建及数据的插入SELECT * INTO #temp_NowStatusFROM TestSELECT * FROM #temp_NowStatus --查询临时表中的数据truncate table #temp_NowStatu...
阅读全文
摘要:事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。在sql server+ .net 开发环境下,有两种方法能够完成事务的...
阅读全文
摘要:这是一个mssql数据库的函数,Convert函数的作用,是进行数据类型的转换。而您所问的这个convert(char(20),openDate,120)则是对日期字段,进行格式化转换成字符格式的函数。接下来,对您函数中的三个参数,分别进行说明:1.char(20),是要转换成的目标数据类型及长度,...
阅读全文
摘要:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部...
阅读全文
摘要:在程序开发中我们经常性的存储过程,可以提升执行效率等,但也也会有一些缺点大家可以根据需要选用存储过程的优缺点:存储过程优点:1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行...
阅读全文
摘要:何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程SQL触发器实例1定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的过程。常见的触发器有三种:...
阅读全文
摘要:1.游标方式DECLARE @Data NVARCHAR(max) SET @Data='1,tanw,2,keenboy' --Id,Name DECLARE @dataItem NVARCHAR(100) DECLARE data_cursor CURSOR FOR (SELECT * FROM...
阅读全文
摘要:一.脚本基础 1.USE语句 设置当前数据库。 2.声明变量 语法:DECLARE @变量名 变量类型 在声明变量后,给变量赋值之前,变量的值为NULL。 将系统函数赋给声明的变量,这个方法可以使我们能更安全地使用值,该值只有人为地改变时它才变动。如果直接使用系统函数本身,那么当它发生变动时,有 时...
阅读全文
摘要:从外网把数据库中的表结构以及数据用”导出脚本“的方式导出来(1.628G的样子),但是在本机执行sql脚本的时候,直接就是out of memory。 之前执行60M的脚本没出过这种问题,直接双击打开.sql脚本文件,然后执行就完了。现在主要是这文件太大了,就报错了,后面不停的google...
阅读全文
摘要:用户自定义函数不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE 命令来执行。在SQLServer 中根据函数返回值形式的不同将用户自定义函数分为三种类型:(1) 标量函数标量函数返回一个确定类型的标量值,其返回值类...
阅读全文
摘要:inner join(又叫join)out join包括left join,right join和full join(也就是left+right)
阅读全文
摘要:select * from VisitLogorder by ISNULL(NextVisitDate,'2299-01-01')此sql的作用是查找表中的数据,并按照NextVisitDate字段升序排列,将NextVisitDate字段为空的放到最后面。注意,此sql只会在排序的时候替换null...
阅读全文
浙公网安备 33010602011771号