欢迎来到天天文库
浏览记录
ID:11324016
大小:67.50 KB
页数:3页
时间:2018-07-11
《实验十一、触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、实验目的1.理解触发器的概念与类型。2.掌握创建、修改和删除触发器的方法。3.掌握使用触发器维护数据完整性的方法。二、实验内容1.创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。程序:createtriggertrig_1onstudentforinsertasselect*fromstudent举例:添加一行记录insertintostudent(sno,sname,sex,birthday,class,scode)values('0601028','哈哈','男','
2、19920117','95001','01110')结果:添加了一条“哈哈”的记录后,自动显示所有记录。2.创建一个名为“trig_2”的触发器,当向学生表添加、修改或删除记录时,该触发器自动显示如下信息:“对不起,你无权进行更新操作!”程序:createtriggertrig_2onstudentinsteadofinsert,update,deleteasprint'对不起,你无权执行该操作1'举例:删除一条记录deletefromstudentwheresname='哈哈'结果:3.修改“trig_2”的触发器,当
3、向学生表修改记录时,该触发器自动显示修改前和修改后的记录。程序:altertriggertrig_2onstudentforupdateasSelect*FromDeleted--修改前的数据Select*FromInserted--修改后的数据举例:updatestudentsetsname='嘻嘻',birthday='19930101'wheresno='0601028'结果:修改名为“哈哈”的两条记录,上表为修改前的,下表为修改后的。4.创建一个名为“trig_3”的触发器,当向学生表删除记录时,该触发器自动删除
4、和表中与之相关的所有记录。程序:createtriggertrig_3onstudentfordeleteasdeletefromscorewheresnoin(selectsnofromdeleted)举例:删除赵亦deletefromstudentwheresname='赵亦'结果:两表中均无学号为0601001名叫赵亦的相关记录.5.创建一个名叫“trig_4”的触发器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生学号、姓名和班级。程序:createtriggertrig_4onscoreforinse
5、rtasselectsno,sname,classfromstudentwheresno=(selectsnofrominserted)举例:添加王芳的记录cno=3的成绩为99。insertintoscore(sno,cno,degree)values('0601002','3','99')
此文档下载收益归作者所有