文档详情

十二章触发器.ppt

发布:2017-03-25约1万字共35页下载文档
文本预览下载声明
本章主题 描述什么是触发器 说明围绕触发器可能带来的一些潜在问题 讨论什么时候使用约束,什么时候使用触发器 介绍针对触发器的特定的系统表和函数 演示通过模板和直接的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)是一种特殊类型的存储过程,它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过事件进行触发而被执行的。触发器是一个功能强大的工具,它与表格紧密相连,在表中数据发生变
显示全部
相似文档