- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十二章触发器
本章主题 描述什么是触发器 说明围绕触发器可能带来的一些潜在问题 讨论什么时候使用约束,什么时候使用触发器 介绍针对触发器的特定的系统表和函数 演示通过模板和直接的T-SQL命令创建触发器的操作 * 实训:触发器的管理 3.实现步骤 (1)新建查询。 (2)在查询窗口输入如下代码: USE Student GO IF EXISTS(SELECT name FROM sysobjects WHERE type=tr AND name=tr_InsertTeacher) DROP TRIGGER tr_InsertTeacher GO CREATE TRIGGER tr_InsertTeacher ON Teachers INSTEAD OF INSERT AS UPDATE Teachers SET Teachers.Teacher_name=inserted.Teacher_name, Teachers.Teacher_department=inserted.Teacher_department FROM Teachers INNER JOIN inserted ON Teachers.Teacher_id=inserted.Teacher_id INSERT Teachers SELECT * FROM inserted WHERE inserted.Teacher_id NOT IN (SELECT Teacher_id FROM Teachers) GO 下面的代码用于测试触发器tr_InsertTeacher。 INSERT Teacheres(Teacher_id,Teacher_name,Teacher_department) VALUES(JS006,李四,002) INSERT Teacheres(Teacher_id,Teacher_name,Teacher_department) VALUES(JS007,王五,003) GO * 实训:触发器的管理 图12.14执行前 图12.15执行后 由于教师号为“JS006”的教师已经存在,在Teacheres表中可以看到该INSERT操作只是在原来教师号为“JS006”的记录上进行了更改;而再次插入的教师号为“JS007”的记录之前不存在,因此执行的是插入操作。 本章小结 * 本章向读者介绍了触发器的基本概念,触发器的类型。阐述了触发器的运行机制,如何使用Management Studio 和T-SQL语句对触发器进行创建、查看、修改和删除的方法及使用各种类型的触发器等。通过本章的学习读者应掌握触发器的基本使用方法和应用技巧。 习 题 * 理论题 1.选择题 (1)下面________语句时用来创建触发器的。 A.create procedure B.create trigger C.drop procedure D.drop triiger (2)使用________系统存储过程可以查看触发器的定义文本。 A.sp_helptrigger B.sp_help C.sp_helptext D.sp_rename 2.填空题 (1)SQL触发器与使用CHECK约束相比更方便体现在________。 (2)________记录了所有数据的更改活动,但是它时________。 3.思考题 (1)简述触发器的一般功能。 (2)描述创建触发器的规则和限制。 操作题 1.在Student数据库的Students表中创建一个DELETE触发器tr_goodbye,向离开同学的道别。 2.使用T-SQL语句创建INSERT触发器,若在courses表中插入已经存在的课程信息,则禁止插入,并输出警告信息。 本章结束 * * 第十二章触 发 器 * 触发器 很多情况下,用户希望把数据插入到表中之后,某个业务规则能够立即执行;或者用户删除数据之后,需要立即把其他表中与该行数据相关联的数据也作相应处理;或者在更新数据记录之后,能够立即实现所有相关记录的必要更新。实现这些类似功能的一个有效方法就是使用触发器。触发器是一种特殊类型的存储过程,易于激活,能够实现复杂的检查和操作。因此,使用触发器有助于更好地维护数据库中数据的完整性。本章介绍触发器的概念,如何创建、修改和删除触发器,以及如何使用各种类型的触发器等。 * 第一节 触发器简介 * 触发器(Trigger)是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行的。触发器是一个功能强大的工具,它与表格紧密相连,在表中数据发生变
文档评论(0)