新SQL Server 2005数据库技术与应用 教学课件 赵丽辉 第10章 触发器.pptVIP

新SQL Server 2005数据库技术与应用 教学课件 赵丽辉 第10章 触发器.ppt

  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文档。上传文档
查看更多
第10章 触发器 【学习要点】 触发器的基本概念及作用 触发器的分类 创建和管理触发器 触发器的综合应用 10.1触发器基本概述 1、什么是触发器 触发器是一种特殊的存储过程,当用户对表或视图执行INSERT、UPDATE或DELETE操作时,相关的触发器被自动调用,检查表或视图在执行添加、修改或删除操作后,其数据是否符合业务规则和数据完整性。触发器及其激发它执行的操作语句,整体被作为单个事务(Transaction),而且在触发器中可以回滚该事务。 10.1触发器基本概述 2、触发器与约束 约束可以直接设置于数据表内,只能处理相对简单的操作,包括自动填入默认值(DEFAULT)、确保字段数据不重复(PRIMARY KEY/UNIQUE KEY)、限制输入值在某一范围内(CHECK)、维护数据表间的完整性(FOREIGN KEY)等。 触发器是一种特殊的存储过程,当数据表发生INSERT、UPDATE或DELETE操作时会自动被触发,可以去执行相对复杂的操作。 10.1触发器基本概述 3、触发器的用途 触发器可以用于连锁更新或连锁删除数据库中相关联的表。但是,如果使用FOREIGN KEY约束来完成连锁更新与删除会比触发器更有效率。 数据被蓄意或是不小心地添加、修改或删除的情况下,使用触发器可以完全避免。 当数据所需符合的条件非常复杂,无法使用CHECK约束来完成时,就应使用触发器。触发器可以替代CHECK约束,完成复杂的操作。 触发器可以去检验表在事务操作之前和之后的状态,以便提供相应的处理机制。 10.1触发器基本概述 4、触发器的类别 AFTER触发器:执行INSERT、UPDATE或DELETE操作之后执行AFTER触发器。若发现操作有误,可使用ROLLBACK TRANSACTION语句将此次操作所更改的数据全部回滚。 INSTEAD OF 触发器:INSTEAD OF是“取代”的意思,就是这类触发器会取代原本要进行的操作(例如新建或更改数据操作),因此会在数据变动之前就发生,而且数据要如何变动也完全取决于触发器。 10.2 使用SQL Server Management Studio管理触发器 10.2.1创建触发器 10.3使用Transact-SQL管理触发器 10.3.1 创建和修改触发器 创建触发器 语法格式如下: CREATE TRIGGER 触发器名 ON {表|视图} {FOR |AFTER |INSTEAD OF } {DELETE | INSERT | UPDATE } AS SQL 语句 10.3使用Transact-SQL管理触发器 参数说明: 触发器名:指触发器的名称,同其他数据库对象一样,触发器的名称在所属数据库中必须是唯一的。 ON{表|视图}:指定触发器所属的数据表或视图。但只有INSTEAD OF 触发器才能设置在视图上。 {FOR |AFTER |INSTEAD OF }:指定触发器类型。FOR 与AFTER具有相同含意,建立AFTER触发器,只有在数据表的操作都已经完成后才激发此触发器。INSTEAD OF 触发器将取代原来要执行的数据操作。 {DELETE | INSERT | UPDATE }:指在表或视图上执行了哪一类的操作时会将触发器激活。至少必须指定一个,若指定多个,可用逗号分开。在同一数据表中,AFTER触发器指定的操作数目没有限制;INSTEAD OF 触发器,则限制INSERT、UPDATE、DELETE每项最多只能有一个。 SQL 语句:指定触发器的内容。因为触发器是自动被执行的,所以触发器不接收任何参数,也不需返回数据。 10.3使用Transact-SQL管理触发器 10.3.1 创建和修改触发器 修改触发器 语法格式如下: ALTER TRIGGER 触发器名 ON {表|视图} {FOR |AFTER |INSTEAD OF } {DELETE | INSERT | UPDATE } AS SQL 语句 10.4设计触发器 10.4.1 设计触发器的注意事项 1、设计触发器的限制 10.4设计触发器 10.4.1 设计触发器的注意事项 2、在触发器中取得字段修改之前及之后的数据 10.4设计触发器 10.4.2 建立AFTER INSERT触发器 当INSERT触发器被激活,新建的数据同时放入inserted数据表和原数据表中,deleted数据表还未被使用。 10.4设计触发器 10.4.3 建立AFTER UPDATE触发器 当UPDATE触发器被激活时,更新的数据已存入原数据表及inserted数据表中,而更新前的旧数据则放在deleted数据表中。此时可以查看新、

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档