摘要:declare @begin_date datetimedeclare @end_date datetimeselect @begin_date = getdate()exec p_testselect @end_date = getdate()select datediff(ms,@begin_date,@end_date)
阅读全文
摘要:Ø 判断表或其他对象及列是否存在--判断某个表或对象是否存在if (exists (select * from sys.objects where name = 'classes')) print '存在';goif (exists (select * from sys.objects where object_id = object_id('student'))) print '存在';goif (object_id('student', 'U') is not null) print
阅读全文
摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将 一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select
阅读全文
摘要:View Code --创建test_employee_info临时表结构,不保留关联关系select * into test_employee_info from employee_info where 1<>1;declare @num intset @num=1while @num<6begininsert into test_employee_info select employee_code+'p'+cast(@num as varchar(1)),employee_name,department_code,entry_date,transfer_d
阅读全文
摘要:手工制定锁:NOLOCK 不要发出共享锁,并且不要提供排它锁。当此选项生效时,可能会读取未提交的事务或一组在读取中间回滚的页面。有可能发生脏读。仅应用于SELECT语句。可以读取其它锁定的资源。HOLDLOCK 将共享锁保留到事务完成,而不是在相应的表、行或数据页不再需要时就立即释放锁。HOLDLOCK等同于SERIALIZABLE。 UPDLOCK 读取表时使用更新锁,而不使用共享锁,并将锁一直保留到语句或事务的结束。UPDLOCK的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。 XLOCK 使用排它锁并一直保持到由语句处理的所有数据上的事
阅读全文
摘要:前段时间**公司DBA来我们这培训。讲了一大堆MYSQL的优化。 QA环节一程序员问“SQL语句中的 with nolock 除了不锁表外 是否能读其他锁住的数据"讲课的人嘟嘟了半天没解释清楚(有可能是MYSQL里没有这个机制),公司的另一程序员给出了一个很简洁明了的回答WITH NOLOCK 除了本身不锁表(不加任何锁) 也不会受其他的已存在的锁影响,锁住的行数据也照样读个人认为这句话说得很清楚明了,一句话就能说明白的事不过好奇怪的是程序员经常用这个语句竟然也不去试一下这里顺便总结一下 其他的 SQLSERVER 中的with锁级别WITH NOLOCK:无锁WITH HOLDLO
阅读全文
摘要:sqlserver中的日期与时间函数1. 当前系统日期、时间 select getdate() 2.dateadd 在向指定日期加上一段时间的基础上,返回新的datetime值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-1700:00:00.0003.datediff返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:174.datepart返回代表指定日期的指定日期部分的整数。S
阅读全文