欢迎来到天天文库
浏览记录
ID:40886700
大小:18.39 KB
页数:4页
时间:2019-08-09
《触发器的创建和管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验——图书馆日常事务管理系统触发器的创建和管理1.创建触发器(1)使用SSMS建触发器在TSJYMS数据库的图书类别表上创建一个名为tslb_insert_trigger的触发器,当执行INSERT操作时,该触发器被触发,禁止插入记录。CREATETRIGGERtslb_insert_triggerON图书类别FORINSERTASBEGINPRINT('禁止插入记录!')ROLLBACKTRANSACTIONEND(2)使用T-SQL语句创建触发器①在TSJYMS数据库的图书明细表上创建一个名为ts_delete_tri
2、gger的触发器,当执行DELETE操作时,该触发器被触发,禁止删除记录。CREATETRIGGERts_delete_triggerON图书明细表FORDELETEASBEGINPRINT('禁止删除记录!')ROLLBACKTRANSACTIONEND②在TSJYMS数据库的借还明细表上创建一个名为jhmx_update_trigger的触发器,当执行UPDARE操作时,该触发器被触发,不允许修改表中的图书编号。CREATETRIGGERjhmx_update_triggerON借还明细表INSTEADOFUPDATEA
3、SIFUPDATE(图书编号)PRINT('禁止删除记录!')2)多表级联更改触发器的创建①在TSJYMS数据库的读者信息表上创建一个名为dzxx_insert_trigger的触发器,当在读者信息表中插入记录时,将该记录中的借书证号自动插入借还明细表中。CREATETRIGGERdzxx_insert_triggerON读者信息FORINSERTASDECLARE@NUMCHAR(20)SELECT@NUM=借书证号FROMINSERTEDINSERT借还明细表(借书证号)VALUES(@NUM)②在TSJYMS数据库的图
4、书明细表上创建一个名称为tsmx_update_trigger触发器,当修改图书明细表中的图书编号时,如果借还明细表中引用了该图书编号,则禁止修改,并提示“不能修改!”CREATETRIGGERtsmx_update_triggerON图书明细表FORUPDATEASIFUPDATE(图书编号)BEGINDECLARE@BIANHAOCHAR(20)SELECT@BIANHAO=DELETED.图书编号FROMDELETEDIFEXISTS(SELECT图书编号FROM借还明细表WHERE图书编号=@BIANHAO)BEGI
5、NPRINT('用户不能修改!')ROLLBACKTRANSACTIONENDELSEPRINT('修改完成!')END3)触发器功能验证对所创建的各种触发器进行功能验证,检查其设计的正确性。①tslb_insert_trigger验证代码:INSERT图书类别VALUES('3333','3333')②ts_delete_trigger验证代码:DELETE图书明细表WHERE图书名称='文化苦旅'③jhmx_update_trigger验证代码:UPDATE借还明细表SET图书编号='12121212'WHERE图书编号
6、='29307142'④dzxx_insert_trigger验证代码:INSERT读者信息(借书证号,姓名,性别)VALUES('0312111002','张娜','女')⑤tsmx_update_trigger验证代码:UPDATE图书明细表SET图书编号='12121212'WHERE图书编号='99011818'4)查看触发器①通过SSMS查看图书明细表上的触发器。②使用系统存储过程sp_help、sp_helptext、sp_depends查看读者信息表上的dzxx_insert_trigger触发器,使用sp_h
7、elptrigger查看图书明细表上的所有触发器类型。EXECsp_helpdzxx_insert_triggerEXECsp_helptextdzxx_insert_triggerEXECsp_dependsdzxx_insert_triggerEXECsp_helptrigger图书明细表5)修改触发器修改TSJYMS数据库中图书类别表上建立的tslb_insert_trigger的触发器,当执行INSERT、UPDATE操作时,该触发器被触发,自动发出报警信息“禁止插入和修改!”。ALTERTRIGGERtslb_in
8、sert_triggerON图书类别FORINSERT,UPDATEASBEGINPRINT('禁止插入和修改!')ROLLBACKTRANSACTIONEND6)触发器的禁止或启用禁止或启用TSJYMS数据库中借还明细表上创建的jhmx_update_trigger的触发器。ALTERT
此文档下载收益归作者所有