欢迎来到天天文库
浏览记录
ID:48321673
大小:194.89 KB
页数:8页
时间:2020-01-10
《图书管理系统触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、触发器触发器相关的概念触发器是一种特殊的存储过程,触发器基于表建立,可视作表的一部分。触发器实在数据发生更新时,自动触发。用于实现强制业务规则和数据完整性。触发器是用户对某一表中数据进行update、insert和delete操作时被自动触发的一段程序。触发器有助于强制引用完整性,以便在更新表中行时,保留表之间也定义的关系。1、创建触发器:为书库表创建一个触发器,用来禁止修改书库号:不能修改书库号:createtriggerupdate_Lib_tronLibraryafterupdateasifupdate(LibraryNo)be
2、ginraiserror('不能修改书库号',16,2)rollbackend触发器验证:Select*fromLibraryUpdateLibrarysetLibraryNo='4'whereLibraryNo='1'Select*fromLibrary(外键约束)1、创建触发器:为管理员表创建一个触发器,用来禁止修改管理员编号:不能修改管理员编号:createtriggerupdate_Wor_tronWorkerafterupdateasifupdate(WorkerID)beginraiserror('不能修改管理员编号',1
3、6,2)rollbackendSelect*fromWorkerUpdateWorkersetWorkerID='103'whereWorkerID='104'Select*fromWorker1、创建触发器:为图书表创建一个触发器,用来禁止修改图书编号:不能修改图书编号:createtriggerupdate_Boo_tronBookafterupdateasifupdate(BookID)beginraiserror('不能修改图书编号',16,2)rollbackend触发器验证:Select*fromBookUpdateBoo
4、ksetBookID='1014'whereBookID='1016'Select*fromBook4、创建触发器:为学生表创建一个触发器,用来禁止修改学号:不能修改学号:createtriggerupdate_Stu_tronStudentafterupdateasifupdate(StudentID)beginraiserror('不能修改学号',16,2)rollbackend触发器验证:Select*fromStudentUpdateStudentsetStudentID='1014'whereStudentID='1016'
5、Select*fromStudent5、创建触发器:为借阅表创建一个触发器,用来禁止删除“未还”的记录:不能删除“未还”的记录:createtriggerdelete_Bor_tronBorrowinsteadofdeleteasifexists(select*fromBorrowwhereState='未还')beginraiserror('不能删除“未还”的记录',16,2)rollbackend验证:select*fromBorrowdeletefromBorrowwhereBorrowNo='3'select*fromBorr
6、ow6、创建触发器:为借阅表创建一个触发器,当借阅表中数据被删除时,学生表中的相关数据也会被删除:当Borrow表中数据被删除时,Student表中的相关数据也会被删除:createtriggerdelete_Bor_Stu_tronBorrowafterdeleteasprint'当删除借阅表中记录时,学生表中的相关数据也被删除'deletefromStudentwhereStudentIDin(selectStudentIDfromdeleted)触发器验证:select*fromStudentdeletefromBorrowwh
7、ereStudentID='2015012'select*fromStudent7、创建触发器:为书籍表创建一个触发器,当书籍表中数据被删除时,删除的数据备份到另外一张表中:备份:select*intoBook_backupfromBookwhere1=2createtriggerBook_delete_backup_tronBookafterdeleteasifexists(select*fromdeleted)begininsertintoBook_backupselect*fromdeletedprint'删除数据在Book_b
8、ackup中做备份'end触发器验证:deletefromBookwhereBookID='1011'select*fromBook_backup(外键约束)
此文档下载收益归作者所有