SQL SERVER个人笔记

sql server 2008快捷键

选中要展示的表Alt+F1展示表结构

Alt+Shift+X 运行所选SQL

sql语句注意事项

1.sp_help 表名=Alt+F1  展示表结构,类似mysql的desc 表名

2.coalesce(字段名,0)函数  判断字段是否为null,是则输出0

3.CONVERT(data_type [(length)], expression ,[style])  datetime类型字段只输出日期

例:CONVERT(char(10),date字段,120)  输出2019-11-01

4.主键唯一非自增ID的表增加数据 并返回增加的ID值

1 insert into 表名(v1,v2) OUTPUT INSERTED.v1 select (select MAX(v1)+1 from 表名,v2) from 表名

5.对sqlserver数据库的某一行或多行添加锁  

1 select * from table where 1=1 with(锁类型) group by id

类似oracle的

1 select * from table for update skip locked

锁类型:

nolock:类似read uncommintted,会读到另一个session的未提交的新增或者更新数据(开启事务未提交的数据)

readpast:不会返回锁定的行或数据页,不存在脏读。缺点因为不会返回锁定的行记录但是很难保证结果集或者修改语句是否包含我们需要返回的行

updlock:行级锁,排它锁属于表级锁。当对一行添加updlock提示不会阻塞其它查询操作

holdlock:类似serializable,当对一行添加holdlock提示会阻塞其它查询操作.聚集索引或非聚集索引会导致排它锁消失使用RangeS-U锁

原文地址:https://www.cnblogs.com/jiaye77/p/11799146.html