SQL游标及触发器实例.doc

SQL游标及触发器实例.doc

ID:51694455

大小:38.45 KB

页数:2页

时间:2020-03-15

SQL游标及触发器实例.doc_第1页
SQL游标及触发器实例.doc_第2页
资源描述:

《SQL游标及触发器实例.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQLCodeDeclare@barCodevarchar(50)--声明变量用于存放游标结果DECLARECsrNameCURSORFOR--声明游标selectbarCodefromeachBook--游标数据来源BEGINOPENCsrName--打开游标FETCHFROMCURSUBOKINTO@barCode--获得来源的一行记录放入变量WHILE@@FETCH_STATUS=0BEGIN-----------------------------------------------------针对每个结果做的操作print@barcode-----

2、-----------------------------------------------------------------------EndFETCHNEXTFROMCsrNameINTO@barCode--处理下一行数据CLOSECsrName--游标用完了要关掉END总结:一般sql语句是面向集合的,游标是面向集合里面的行的,相当于获取一行数据->处理->获得下一行数据->处理这样一个循环。能不用游标就尽量不要用游标,性能很烂--两种触发器,after为表sql语句执行之后操作,INSTEADOF为之前操作createtriggertgr_nam

3、e--创建触发器onclasses--在classes表上forinsert--当classes表插入数据是触发as里面的操作(for有after默认值,所以是sql语句执行完了执行)--,有insert、update、delete三种操作类型。asdeclare@idint;--定义变量用来临时存放数据select@id=idfrominserted;--在inserted表中查询已经插入记录信息,update就有个updated表,deleted就是deleted表print'刚刚插入的记录的ID是'+@id;GO12345678910111213141

4、5161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960createtriggertgr_name--创建触发器onclasses--在classes表上INSTEADOFinsert--Insteadof表示把原来表的操作替换为as定义的操作,用途是不让插入语句直接操作,而用触发器来代替操作asIFNOTEXISTS(SELECT*FROM学生表WHERE学号=(SELECT学号FROMINSERTED))BEGINROLLBACK

5、TRANSACTIONPRINT'要处理记录的学号不存在!'ENDELSEBEGININSERTINTO计select*frominsertedPRINT'已经成功处理记录!'ENDgo总结:触发器就是定义一段sql语句,执行了某个sql语句数据库就会自动执行触发器定义的sql语句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。