欢迎来到天天文库
浏览记录
ID:28059727
大小:1021.47 KB
页数:8页
时间:2018-12-07
《实验报告三创建和使用触发器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验报告实验名称创建和使用触发器一、实验H的:理解触发器的触发过程和类型,掌握创建触发器的方法。二、实验内养:掌握使用对象资源管理器和Transact-SQL语句两种方法创建触发器。三、实验步骤:1)使用SQL语句创建DML触发器。例1.创建一个INSERT触发器,当向“选课表”中添加数据时,如果添加的数据与学生表中的数据不匹配(如没有对应的学号),则将此数据删除。CREATETRIGGERtrginsstudentONSCFORINSERTASBEGINDECLARE@xhvarchar(12)SELECT@x
2、h=inserted.SnoFROMinsertedIFNOTEXISTS(SELECTSnoFROMStudentWHERESno=@xh)DELETESCWHERESno=@xhENDINSERTINTOSCvalues(^oozisus'/i'^g);ilLSJ表-dbo.sc[表-dbo.sc*[XP-2011091918...QLQueryl.sql*摘要snoenograde►UW215121192200215121285200215121388200215122290200215123189来ff
3、ULLffULL例2.创建一个UPDATE触发器,该触发器防止用户修改"选课表"的成绩。CREATETRIGGERtrgupstudentONSCFORUPDATEASIFUPDATE(Grade)BEGINRAISERRORf不能修改课程分数16,10)ROLLBACKTRANSACTIONENDGOMicrosoftSQLServerManagementStudio文件(D麻番(!)视图(y査恥)项目(DIA(D苗口必社区(£J格助ftj)U.W建査则DLjjJ7.gM必屬啕口‘皂巧。表.dbo.scXP
4、-20Fl091918...QLQucryI.sql*摘®连接(2),巧VALUESC200215123'‘•z89i;;2=•I*-•W一M•必-XIIhd<5XP-201109191810(SQLSen^r9.0.1399-XP-201BU进«庠S3系妖数抜厍韵«库快陷曰□s-c田U数据库矢系、囝曰□衷田□系织衷田□dbo.courseE□dbo.scE□dbo.studentB9D现困MU同义词aLi町麻S性田LjServiceBrote*0U0□安全性RCi安全性SCi垢务芻对象田[□笈刻田[□管理(?■
5、NottficabonServicest^SOlServer代理(已禁用代理:
6、态i,第1行笫务在触发器中结束.批处理己中止.rE®^*XP-201109191810©0RTB)XF-201l0919l8l0Adnsnistrator(52)s-c00:00:000行行275t铭另外一种触发器:CREATETRIGGERtrgupstudent2ONSCINSTEADOFUPDATEASIFUPDATE(Grade)[^叹(^0町不能修改课程分数’,16,10)例3:创建一个DELETE触发器。当删除"学生表"中的记录时,自动删除"选课表"中的对应学号的记录。CREATETRIGGERt
7、rgdelstudentONstudentFORDELETEASBEGINDECLARE@xhvarchar(12)SELECT@xh=deleted.SnoFROMdeletedDELETESCWHERESno=@xhENDGO当输入InsertintoStudentlvalues(2007241082‘王阳’‘男'36‘计算机’);1列五:createtriggersslonstudentforinsertasbegindeclare@xhsmallint;select@xh=inserted.Sagefro
8、minserted;ifexists(selectsnofromstudentwhereSage=@xh)updatestudentsetsage=@xh+lwhereSage=@xh;end;创建触发器如下:当执行以下语句吋insertintostudentvaluesC200515125’/zpf,•男jOJma’);例/'、•:createtriggerinsert
此文档下载收益归作者所有