数据库原理与应用:第15章 触发器.ppt

数据库原理与应用:第15章 触发器.ppt

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

*数据库原理与应用15触发器触发器是一种特殊的存储过程,其特殊性在于它并不需由用户来直接调用,当对表进行插入、修改、删除操作时自动执行。所以,触发器可以用来实施复杂的完整性约束。触发器的优点可实现数据库中多张表的级联更新。实现比CHECK约束更为复杂的约束。使用CHECK约束,可以限制不满足检查条件的记录输入表中。CHECK约束的检查条件表达式不允许引用其它表中的字段,而触发器可引用其它表中的字段。触发器的触发方式SQLServer2000按触发器被激活的时机可分为后触发和替代触发两种触发方式。后触发:当引起触发器执行的更新语句执行完成,并通过各种约束检查后,才执行后触发,这种触发方式称做后触发。创建这种触发器时用AFTER或FOR关键字来指定。后触发只能创建在表上,而不能创建在视图上。替代触发:引起触发器执行的更新语句停止执行,仅执行触发器语句,这种触发方式称做替代触发。创建这种触发器时用INSTEADOF关键字来指定。替代触发可以创建在表或视图上。inserted临时表和deleted临时表每个触发器被激活时,系统都会为它自动创建两个临时表:inserted表和deleted表。这两个表的结构总是与激活触发器的表的结构相同,触发器执行完成后,与该触发器相关的这两个临时表也会被自动删除。在执行DELETE语句删除表中的数据时,系统将数据从表中删除的同时,自动把删除的数据插入到deleted这一系统临时表中;当执行INSERT语句向表中插入数据时,系统将数据插入表的同时,也把相应的数据插入到inserted这一系统临时表中;在执行UPDATE语句修改表数据时,系统先从表中删除表中原有的行,然后再插入新行。其中被删除的行存放在deleted表中,同时插入的新行存放在inserted表中。注意:CREATETRIGGER语句必须是一个批处理中的第一条语句。触发器只能在当前的数据库创建,但触发器可能引用其它数据对象。如果指定触发器所有者名限定触发器,要以相同方式限定表名。在同一CREATETRIGGER语句中,可以为多种操作定义相同的触发器操作。如果一个表的外键在DELETE、UPDATE操作上定义了级联,则不能在该表上定义INSTEADOFDELETE、INSTEADOFUPDATE触发器。所有建立和修改数据库及其对象的语句、所有DROP语句都不允许在触发器使用。触发器不返回任何结果,为了阻止从触发器返回结果,不要在触发器定义中包含SELECT语句或变量赋值。如果必须在触发器中进行变量赋值,则应该在触发器的开头使用SETNOCOUNTON语句以避免返回任何结果集。15.1利用SQL命令创建触发器

1.语法格式CREATETRIGGERtrigger_nameON{table|view}/*指定触发器名及操作对象*/[WITHENCRYPTION] /*说明是否采用加密方式*/{FOR|AFTER|INSTEADOF}{[DELETE][,][INSERT][,][UPDATE]}/*定义触发器的类型*/ [NOTFORREPLICATION] /*说明该触发器不用于复制*/AS?[{IFUPDATE(column)?[{AND|OR}UPDATE(column)]?[...n]?|IF(COLUMNS_UPDATED(){bitwise_operator}updated_bitmask)?{comparison_operator}column_bitmask[...n]?}] /*两个IF子句用于说明触发器执行的条件*/?sql_statements /*T-SQL语句序列*/15.1利用SQL命令创建触发器

例15.1对于school数据库,如果在student表中添加或更改数据,则向客户端显示一条信息。/*使用带有提示消息的触发器*/USEXSBOOKIFEXISTS(SELECTnameFR

文档评论(0)

胖鸥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档