图书管理系统触发器_第1页
图书管理系统触发器_第2页
图书管理系统触发器_第3页
图书管理系统触发器_第4页
图书管理系统触发器_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

触发器触发器相关的概念触发器是一种特殊的存储过程,触发器基于表建立,可视作表的一部分。触发器实在数据发生更新时,自动触发。用于实现强制业务规则和数据完整性。触发器是用户对某一表中数据进行update、insert和delete操作时被自动触发的一段程序。触发器有助于强制引用完整性,以便在更新表中行时,保留表之间也定义的关系。1、创建触发器:为书库表创建一个触发器,用来禁止修改书库号:不能修改书库号:createtriggerupdate_Lib_tronLibraryafterupdateasifupdate(LibraryNo)beginraiserror('不能修改书库号',16,2)rollbackend触发器验证:Select*fromLibraryUpdateLibrarysetLibraryNo='4'whereLibraryNo='1'Select*fromLibrarySelect货fromLibiazyUpdateLibrarysetLibraryNo=141whereLibraryNo=111Select*fromLibrary* IFI* F国结果昌消息LibraryNdLibra^Name[-l )酎林方 知行LibraryNoLibrar>rName['l j翰林2知行Select*±iomLibraryUpdateLlbTeiysetLihraryNo'4'whereLibrar-yllo'二'Selectk£工口即Llbraxy71 皿 J[74行受黑响】消息347,组别4行受黑响】消息347,组别1门状态UPDATE语句与REFERENCE语句已终止。口,第E行约束“瓯丁口印‘讣二"式冲突。该冲突发生于数据库“二(2行受影响)(外键约束)2、创建触发器:为管理员表创建一个触发器,用来禁止修改管理员编号:不能修改管理员编号:createtriggerupdate_Wor_tronWorkerafterupdateasifupdate(WorkerID)beginraiserror('不能修改管理员编号',16,2)rollbackend

SelectfrornWorkerUpdateWorkersetWox^exID"二03・wtiexeKox^exID'二口S'Select、fiqhiWorker『 I「3行受影响)□"结果J3行受影响)消息对叩3级别",状态2,过程upi2te_Wcr_tr,第?行不能修改管理员编号消息3€09,级别状态b第。行事务在触爰器中结束口批处理已中止-Select*fromWorkerUpdateWorkersetWorkerID='103'whereWorkerID='104'Select*fromWorkerEelect*±zt?QECiWoikezUpdateWozkezsetWQTkerID=p1031whezeWQTkETlD='10^Select点froiDWozkeimWorkerlDWarkerNameWorkerContacl□braryNo1101张博135%1团货号12W2李振15»3723fi21523W3王解1菊7钻印34113、创建触发器:为图书表创建一个触发器,用来禁止修改图书编号:不能修改图书编号:createtriggerupdate_Boo_tronBookafterupdateasifupdate(BookID)beginraiserror('不能修改图书编号',16,2)rollbackend触发器验证:Select*fromBookUpdateBooksetBookID='1014'whereBookID='1016'Select*fromBook

Select*fxonoiBook ——IUpdateBaaksetBQQkID="201^BwhereBaakID=1102€1SelectafromBook .ppi_5结果_j消息EioakIDPublisherEtoakNameBockQuantityBaok5tyleAuthorBookPriceRemainder1|1011|;苏教音乐鉴赏艺术张震第2S21012人教时间简史科学霍金502S31013清华东方交学史历史徐华第2S41014北大JAU瞳训计算机王林502951015大象围城义学钱钟书29SelectkfroniBookUpdateBooksetBookID”二口二自・whereBookID.二口二E・Select*fxonciBacknr□"结果a消息Q行受制响)消息3609,级别Ifi,状态I,第工行事务在触发器中结束口批处理已中止。消息5□口级别1J状态2,过程消息3609,级别Ifi,状态I,第工行事务在触发器中结束口批处理已中止。4、创建触发器:为学生表创建一个触发器,用来禁止修改学号:不能修改学号:createtriggerupdate_Stu_tronStudentafterupdateasifupdate(StudentID)beginraiserror('不能修改学号',16,2)rollbackend触发器验证:Select*fromStudentUpdateStudentsetStudentID='1014'whereStudentID='1016'Select*fromStudent

Select"from51j.d.en.tJpdate

Selectk£mmStudentStuderLtsetStuderLtlD' 'whereSt'j.clen.tIDJpdate

Selectk£mmStudentJ结果」消息kfrom51j.den.tStudentIDStudentNameStudentClassStudentFacuhy1_⑷印121i张三n软件硼电院2加150方李四会计谢*商院32015034王五建逾3班建筑学院42015(H5丁六美声4班音乐学院52017011马七软件硼电院Select"StudentSt-adentSEtStudentID' 'whereStadentID'L0L6'UpdateSelectrrrn结果上消息惜行受影响》 _消息三口"3级别%状态=/过程5日一七—第7行不能修改学号消息旌。与级别13状态1,第工行事务在触发器中结束。批处理已中止。5、创建触发器:为借阅表创建一个触发器,用来禁止删除“未还”的记录:不能删除“未还”的记录:createtriggerdelete_Bor_tronBorrowinsteadofdeleteasifexists(select*fromBorrowwhereState='未还')beginraiserror('不能删除“未还”的记录',16,2)rollbackend验证:select*fromBorrowdeletefromBorrowwhereBorrowNo='3'select*fromBorrowselect-fromBorro'wdeleteframBarraswhereBcmcrwN口=13select/fromEorrowrrrJ结果3消息NacktimeBorrowQuantityAmeanDateFineState1 D:D口必口.玩32m7碑D1即:毗卬靠口12017於01口口:如如EQJ20归还2 [}:皿mMDZ0疗於D1即:盹m皿。1NULLNULL归还SS:DD:DD.OCD2fl17-1^D1OD:OD:DO.22D1NULLNULL未还4 [):皿小口溶ZD17-11-D1DD:{?D:DO,u[]D1NULLNULL未还5J:D::DD.ODD加04阴)1叩:毗叩.靠口2NULLNULL归还6口儿;常上潞2D170M1DD;OD;OO.ODD1NULLNULL归还7 [):DD:[»,ODD叩171初1叩:毗皿靠口1NULLNULL未还select&fromBorrowdelete£rainBarrawwhereEqeeqwNq=13select*fromBorrowrrrn-结果消息仃行受影响)消息50000,级别L"状态2,过程WQ.Bor/j第7行不能删除'未还"的记录消息3609,级别16,状态L第E行事务在触发器中结束口批处理已中止口6、创建触发器:为借阅表创建一个触发器,当借阅表中数据被删除时,学生表中的相关数据也会被删除:当Borrow表中数据被删除时,Student表中的相关数据也会被删除:createtriggerdelete_Bor_Stu_tronBorrowafterdeleteasprint'当删除借阅表中记录时,学生表中的相关数据也被删除'deletefromStudentwhereStudentIDin(selectStudentIDfromdeleted)触发器验证:select*fromStudentdeletefromBorrowwhereStudentID='2015012'select*fromStudentselectkfrcrnStudentdelEtEIraniJoxxawwhereStudsntID"2口二5口二2selectKfremStudentJ结果.J1消息StudenrtlDStudentNameStudentClassStudentFacultyJ_2C15A12:j光三软件1班电院22D154)23李四会计看在商院32O154J34王五建筑3■班建筑学院42D154H5丁六美声4班音乐学院52O17D11马七软件1班电晾selecthfromSt.JdentdeletefromBorrowwhereStidentlD'2OLSOL2'select.fromStudent4 E直结果真消息t3行受影响) _消息会吟解别1"状态2;过程delete_^E_tE,第7行不能删除“未还,1■的记录消息…级别巴状态•第2行事符在触发器中结束。批处理已中止。7、创建触发器:为书籍表创建一个触发器,当书籍表中数据被删除时,删除的数据备份到另外一张表中:备份:select*intoBook_backupfromBookwhere1=2createtriggerBook_delete_backup_tronBookafterdeleteasifexists(select*fromdeleted)begininsertintoBook_backupselect*fromdeletedprint'删除数据在B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论