1、旧课回顾触发器定义触发器的创建(重点)触发器的工作过程(难点)课堂小结第 9讲 触发器旧课回顾 例 1:创建存储过程返回学生的基本情况(学号,姓名,性别,班级名,家庭住址) 例 2:创建存储过程,通过输入学生的姓名返回学生选修课程的信息(课程名,成绩) 例 3:创建存储过程,通过输入学号,返回两个参数cid, score分别代表此学生的课程号和成绩 无参数的存储过程带 output返回参数的存储过程带输入参数的存储过程触发器定义什么是触发器?发触请同学们从字面上理解一下 !触发器定义触发器是一类 特殊的存储过程 ,它不能显示地被调用,它是在指定的表或视图中插入 ( INSERT) 记录,更改
2、( UPDATE) 记录或者删除 ( DELETE) 记录时,被自动激活 。触发器的定义触发器特点 : 和特定表或视图关联 自动调用 不能被直接调用 是一个事务的部分触发器的创建 使用 Transact_SQL创建触发器 基本语法: Create trigger 触发器名On 表名 / 视图名 For / after / instead of insert / update / delete AsSql_statement FOR 和 AFTER 是完全相等的,创建相同类型的触发器,在INSERT、 UPDATE 或 DELETE 语句执行后触发 P196 INSTEAD OF 触发器取消触发
3、动作,执行替代操作触发器的创建 使用 Transact_SQL创建触发器 举例: 在数据库 students中,创建一触发器,在表 stu_info中插入,删除记录时,能自动显示表中c01班的学生信息。 触发器的工作过程Inserted表和 deleted表在触发器执行的时候,会产生两个临时表: inserted表和 deleted表Inserted表 用于存储 INSERT和 UPDATE语句所影响的行的副本Deleted表 用于存储 DELETE和 UPDATE语句所影响的行的副本触发器的工作过程 在对触发器的表进行操作时,其操作过程如下: 执行 INSERT操作: 插入到触发器表中的新行被插入到inserted 表中。 执行 DELETE操作: 从触发器表中删除的行被插入到deleted 表中。 执行 UPDATE操作: 先 从触发器表中删除旧行, 然后 再插入新行。其中被删除的旧行被插入到 deleted 表中,插入的新行被插入到 inserted表中。 触发器的工作过程 在班级表上创建触发器,测试进行插入,修改,删除数据时触发器表中的数据的情况。