网站大量收购独家精品文档,联系QQ:2885784924

第10章游和触发器.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章游和触发器

* 重点: DELETE 语句的工作过程; Deleted 表的概念、作用。 * 重点: DELETE 语句的工作过程; Deleted 表的概念、作用。 * 演示: 演示幻灯片动画,讲解 DELETE 触发器的工作过程; 课堂提问: 从演示的工作过程来看,触发器是在数据从表中删除之后才触发还是在删除数据之前触发? 在删除数据之后触发。 * 重点: UPDATE 语句的工作过程; 使用 IF UPDATE 语句监视对特定列的更新。 * 重点: UPDATE 语句的工作过程; 使用 IF UPDATE 语句监视对特定列的更新。 * 重点: INSTEAD OF 触发器的概念和作用; 如何使用 INSTEAD OF 触发器对一般不支持更新的视图进行更新操作; 注意: 在演示示例时,若学生询问 CustomersView 看起来似乎已经被 UPDATE 语句更新了,告诉学生是因为触发器更新了 CustomerGer 表,而 CustomersView 视图从 CustomerGer 表获取信息的原因; 演示: 演示书中的示例,并讲解。 * 重点: INSTEAD OF 触发器的概念和作用; 如何使用 INSTEAD OF 触发器对一般不支持更新的视图进行更新操作; 注意: 在演示示例时,若学生询问 CustomersView 看起来似乎已经被 UPDATE 语句更新了,告诉学生是因为触发器更新了 CustomerGer 表,而 CustomersView 视图从 CustomerGer 表获取信息的原因; 演示: 演示书中的示例,并讲解。 * 重点: 大部分触发器执行于动作之后; 约束最先被检查; 表对同一动作可以有多个触发器; 表的拥有者可以指定表上第一个和最后一个执行的触发器; 注意: 只能指定第一个和最后一个执行的触发器,其他触发器的触发顺序是无法指定的。 * 重点: 必须具有执行触发器内所有语句的权限; 表的拥有者不能在视图或临时表上创建 AFTER 触发器; 表的拥有者可以在表和视图上创建 INSTEAD OF 触发器; 触发器不应该返回结果集; 注意: 触发器的创建者必须具有在所有被影响的表上执行相应语句的权限。若不具有执行某条语句的权限,整个事务回滚。 * 10.4.1 创建DML触发器的语句 参数说明: trigger_name:是要创建的触发器的名称。 table_name | view_name:是在其上执行触发器的表名或视图名。 FOR | AFTER | INSTEAD OF:指定触发器的时机,其中FOR与AFTER相同。 INSERT, DELETE, UPDATE:是指定在表或视图上执行哪些数据修改语句时将触发触发器的关键字,必须至少指定一个选项。在触发器的定义中允许使用以任意顺序组合的这些关键字,中间用逗号分隔。 IF UPDATE (column_name):指如果更新表的某列将进行的操作。 Sql_statement:指定触发器执行的T-SQL语句。 * 10.4.1 创建DML触发器的语句 创建DML触发器前需注意以下事项: CREATE TRIGGER语句必须是批处理中的第一个语句,该语句后面的所有其它语句被解释为触发器语句定义的一部分。 创建DML触发器的权限默认分配给表的所有者,且不能将该权限转给其它用户。 DML触发器是数据库对象,其名称必须遵循标识符的命名规则。 虽然DML触发器可以引用当前数据库以外的对象,但只能在当前数据库中创建DML触发器。 TRUNCATE TABLE语句不会触发DELETE触发器。 * 10.4.1 创建DML触发器的语句 创建DML触发器前需注意以下事项: 在CREATE TRIGGER语句定义中不能包含以下语句: CREATE | ALTER | DROP DATABASE DISK INIT DISK RESIZE LOAD DATABASE LOAD LOG RESTORE DATABASE RESTORE LOG * 10.4.2 DML触发器的类型 两种类型:AFTER触发器和 INSTEAD OF触发器。 1)AFTER触发器 AFTER触发器又称为后触发器,该类触发器是在引起触发器执行的修改语句成功完成之后执行。 2) INSTEAD OF触发器 INSTEAD OF触发器又称为替代触发器,当引起触发器执行的修改语句停止执行时,该类触发器代替触发操作执行。 * 1、创建 INSERT 触发器 1)INSERT 触发器的工作过程 在定义了 INSERT 触发器的表上执行 INSERT 语句 INSE

文档评论(0)

181****7127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档