数据库应用技术——SQLServer篇课件作者徐守祥第10章节.pptVIP

数据库应用技术——SQLServer篇课件作者徐守祥第10章节.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 10 章 触 发 器 10.1 触 发 器 的 概 念 10.2 创建和应用触发器 10.3 修改和删除触发器 10.4 触发器的嵌套与递归 10.5 事 务 通过本章的学习,读者应该掌握以下内容: ? 触发器的作用 ? 熟练创建、修改、删除触发器 10.1 触 发 器 的 概 念 10.1.1 基本概念 SQL Server为每个触发器都创建了两个专用临时表:INSERTED表和DELETED表。这两个表的结构与激发触发器的表的结构相同。用户不能对它们进行修改,只能在触发器程序中查询表中的内容。触发器执行完毕后,与该触发器相关的这两个表也会被删除。 当执行INSERT语句时,INSERTED表存放要向表中插入的所有行。 当执行DELETE语句时,DELETED表存放要从表中删除的所有行。 当执行UPDATE语句时,相当于先执行一个DELETE操作,再执行一个INSERT操作。所以旧的行被移动到DELETED表,而新的行插入到INSERTED表。 10.1.2 使用触发器的优点 (1)多张表的级联修改。 (2)强于CHECK的复杂限制。 (3)比较数据修改前后的差别。 (4)强制表的修改要合乎业务规则。 10.2 创建和应用触发器 在创建触发器时,需要指定触发器的名称、包含触发器的表、引发触发器的条件以及当触发器启动后要执行的语句等内容。和创建维护存储过程一样,可以通过CREATE TRIGGER语句或企业管理器来创建触发器。 使用CREATE TRIGGER命令创建触发器的语法格式如下。 CREATE TRIGGER 触发器名 ON {表|视图} [ WITH ENCRYPTION ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [DELETE] } [ NOT FOR REPLICATION ] AS [{IF UPDATE(列名)[{AND|OR} UPDATE(列名)][ ...n ]} SQL语句 注意:创建触发器时使用AFTER或FOR关键字,创建的是后触发,即当引起触发器执行的修改语句完成后,并通过了各种约束检查后,才执行触发器中的语句。后触发只能建在表上,不能建在视图上。创建触发器时使用INSTEAD OF关键字,创建的是替代触发。替代触发的特征是引起触发器执行的修改语句只起到启动触发器的作用,而并没有执行,取而代之的,是执行触发器中的语句。替代触发可以建在表上或视图上。 10.2.1 INSERT触发器 通过INSERT触发器检查添加操作的业务规则。 10.2.2 UPDATE触发器 对于UPDATE触发器,当UPDATE操作在表上执行时,则产生触发。在触发器程序中,有时只关心某些列的变化,则可以使用IF UPDATE(列名),仅对指定列的修改作出反应,这点是其他两种触发器没有的。 10.2.3 DELETE 触发器 当对表执行DELETE操作时,激发该表的DELETE触发器。 10.2.4 查看触发器的定义信息 10.3 修改和删除触发器 10.3.1 修改和删除触发器 1.修改触发器 用户可以使用ALTER TRIGGER语句修改触发器,它可以在保留现有触发器名称的同时,修改触发器的触发动作和执行内容。 修改触发器的语法格式如下。 ALTER TRIGGER 触发器名 ON {表|视图} [ WITH ENCRYPTION ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [DELETE] } [ NOT FOR REPLICATION ] AS [{IF UPDATE(列名)[{AND|OR} UPDATE(列名)][ ...n ]} SQL语句 2.删除触发器 触发器的删除是通过DROP语句来实现的,在企业管理器也同样可以进行删除。例如,在查询分析器下,使用DROP TRIGGER Add_库存量命令,即可删除该触发器。 10.3.2 禁止或启用触发器 禁止和启用触发器的语法格式如下。 ALTER TABLE 表名 {ENABLE|DISABLE} TRIGGER {ALL|触发器名[,...n]} 使用该语句可以禁用或启用指定表上的某些触发器或所有触发器。 10.4 触发器的嵌套与递归 10.4.1 嵌套触发器 一个触发器在执行操作时又引发另一个触发器,而这个触发器接下来又引发下一个触发器,所有的触发器依次触发,这些触发器就是嵌套触发器。 10.4.2 递归触发器 当一个嵌套触发器嵌套的是其自身

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档