对应SSMS
#逻辑语句
case when then else end ==while case default break /*case条件语句*/
function‘表值函数’ /*很新鲜,不太懂,多出来的系统表?*/
#事务
begi tran declare@erro int set @error=0 {} @error=@error+@@error
if () begin rollback tran end else begin commit tran end /*有始有终!*/
set implicit_transactions off /*设置隐式事物模式关闭,没有错误自动提交,有错误自动回滚???*/
事务并发产生的问题:丢失——先拿货未收钱;脏数据——先退货未退钱;数据更新不及时。
共享锁——共享客户 可读取,不可修改
排他锁——共享客户 不可读,不可写
更新锁——共享客户 可读不可写 自动转为 不可写不可读
意向锁?
隔离级别?
#视图
引用其他表,非原始表,区别查询(可加锁,在程序表中,order by 默认100Percent)
连表查询相当方便!
不能使用@@表变量或者##临时表.temp /*@@存在内存中*/
非聚集索引——纯目录;聚集索引字典正文 /*这样理解索引就简单多*了/
1、text,image,bit不能建索引,
2、可建非聚集索引249个,
3、主键必须建立。
sysindexes 填充因子——填充比例 /*根据本表关键信息查本表其他内容,索引系统!*/
碎片5%-30%,维护计划。 /*还是很有用*/
#存储过程
create proc usp_cunchuguocheng /*貌似很有用,直接编译执行*/
《SQL注入天书》!
sp/xp/usp /**三类/
系统存储过程,sp_help 查看表信息
扩展存储过程 ,xp_cmdshell 创建文件夹
调用不带参数的存储过程 直接写名字,带参数的注意参数
return -1 0 1 if @return=-1 begin print'' end /*带返回值*/
第一次调用存储过程,可以不写exec
#触发器
dll触发器,dml触发器(inser,upda,delete) /*期待*/