触发器的创建使和用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
触发器的创建使和用

触发器的创建和使用触发器的优点触发器是自动执行的。当对表中的数据做任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。触发器可以通过数据库中的相关表进行层叠更改。例如,可以子啊t_student 表的s_number列上写入一个删除触发器,以使t_score表中的各匹配行采取删除操作。该触发器用s_number列作为唯一键,在t_score表中对各匹配行进行定位。触发器可以强制限制。这些限制比用CHECK约束所定义的更复杂。与CHECK约束不同的是,触发器可以引用其他表中的列。触发器的类型AFTER触发器:这种烈性的触发器将在数据变动(INSERT、UPDATE和DELETE操作)完成以后才被出发。可以对变动的数据进行检查,如果发现错误,将拒绝接受或回滚变动的数据。AFTER触发器只能在表上定义。在同一个数据表中可以创建多个AFTER触发器。INSTEAD OF 触发器:INSTEAD OF触发器是SQL Server 2000中新增的功能。这种类型的触发器将在数据变动以前被触发,并取代变动数据的操作(INSERT、UPDATE和DELETE操作),而去执行触发器定义的操作。INSTEAD OF触发器可以在表或视图上定义。在表或视图上,每个INSERT、UPDATE和DELETE语句最多可以定义一个INSTEAD OF触发器。注意事项CREATE TRIGGER 语句必须是批处理中的第一个语句。将该批处理中随后的其他所有语句解释为CREATE TRIGGER语句定义的一部分。创建触发器的权期限默分配给表的所有者,且不能讲该权限转给其他用户。触发器为数据库对象,其名称必须遵循标识符的命名规则。只能在当前数据库中创建触发器但触发器可以应用当前数据库以外的对象。TRUNCATE TABLE语句不会引发DELETE触发器。WRITETEXT语句不会引发INSERT或UPDATE触发器。使用Transact-SQL语句创建触发器语法CREATE TRIGGER trigger_nameON{ table|view}{{ { FOR | AFTER | INSTEAD OF } { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] }[ WITH APPEND][ NOT FOR REPLICATION ]AS[ { IF UPDATE(column) [ { AND|OR}UPDATE(column) ] [ . . .n]| IF (COLUMNS_UPDATED(){bitwise_operator}updated_bitmask) {comparison_operator}column_bitmask[ . . .n]}]sql_statement [ . . .n]}}代码意义trigger_name:用于指定触发器的名称。触发器的名称必须符合SQL Server标识符规则,并且其名称在当前数据库中必须是唯一的。另外,还可以选择是否指定触发器所有者的名称。table|view:用于指定在其上执行触发器的表或视图,有时称为触发器表或触发器试图。可以选择是否指定表或视图的所有者名称。WITH ENCRYPTION:用于加密syscomments表中包含CREATE TRIGGER语句文本的条目。使用WITH ENCRYPTION可防止触发器作为SQL Server复制的一部分发布。AFTER:用于规定此触发器只有在触发SQL语句中指定的所有操作都已成功执行后才激发。所有的应用级联操作和约束检查也必须成功完成后,才能执行触发器。如果仅指定FOR关键字,则AFTER是默认设置。注意该类型触发器仅能在表上创建,而不能在视图上定义该触发器。INSTEAD OF:用于规定执行的是触发器而不是执行触发器SQL语句,从而用触发器替代触发语句的操作。在表或视图上,每个INSERT、UPDATE或DELETE语句最多可以定义一个INSTEAD OF触发器。INSTEAD OF触发器不能在WITH CHECK OPTION的可更新视图上定义。如果只向指定的WITH CHECK OPTION选项的可更新视图添加INSTEAD OF触发器,SQL Server将产生一个错误。用户必须用ALTER VIEW删除该选项后才能定义INSTEAD OF触发器。{ [DELETE] [ , ] [INSERT] [,] [UPDATE] }:用于指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。必须至少指定一个选项。在触发器定义中允许以任意顺序组合这些关键字。如果指定的选项多余一个,需用逗号分隔这些选项。WITH APPEND:用于指定应该添加现有类型的其他

文档评论(0)

ggdxyz3 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档