H2-3 触发器与事务.pptVIP

  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文档。上传文档
查看更多
H2-3 触发器与事务

学习目标 了解触发器的种类和功能 掌握DML触发器(after)的创建、修改和删除 了解DDL触发器 掌握事务的概念及应用 触发器的概念 触发器是一类特殊的存储过程,被定义为在对表或视图发出 UPDATE、INSERT 或 DELETE 语句时自动执行。 触发器是与表紧密相连,是与某个表关联的。也就是说,如果在这个表上发生了UPDATE、INSERT 或 DELETE 操作,就会触发相应的触发器进行工作。 触发器的分类 在SQL Server 2005中,触发器可以分为两大类: DML触发器 After触发器:After触发器是在记录更变完之后才被激活执行的 Instead Of触发器:Instead Of触发器是在INSERT、UPDATE和DELETE操作进行之前就激活,并且不再去执行原来的SQL操作,而去运行触发器本身的SQL语句(即替换) DDL触发器 注: after 和 instead of 两种类型的触发器是从触发触发器的语句完成与否的角度区分 After : 只能用于表,功能侧重于表的DML Instead Of : 可用于表或视图 创建DML触发器 SQL Server 2005 使用CREATE TRIGGER 创建触发器,其语法如下: Inserted和deleted表 触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。 这两张表存储在内存高速缓存中的临时表,SQL Server 自动创建和管理这两个表。 只有在触发器中才可以使用这两个表,且不能直接对表中的数据进行更改。 DML操作与Inserted、deleted表 CREATE TRIGGER 示例二 CREATE TRIGGER reminder ON authors after UPDATE AS DECLARE @old_lname varchar(20), @new_lname varchar(20) SELECT @old_lname = au_lname FROM deleted SELECT @new_lname = au_lname FROM inserted PRINT old lname is: + @old_lname + ,new lname is: + @new_lname 修改DML触发器 SQL Server 2005 使用ALTER TRIGGER 修改触发器,其语法如下: 删除DML触发器 SQL Server 2005 使用DROP TRIGGER 删除触发器,其语法如下: 禁用和启用 DML触发器 禁用触发器与删除触发器不同,禁用触发器时,仍会为数据表定义该触发器,只是在执行INSERT、UPDATE或DELETE语句时,除非重新启用触发器,否则不会执行触发器中的操作。 SQL Server 2005 使用DISABLE可以禁用DISABLE触发器,用ENABLE可以启用触发器。 其语法如下: 创建DDL触发器 与DML触发器一样,DDL触发器也是通过事件来激活,并执行其中的SQL语句的。不同的是DDL触发器是响应CREATE、ALTER或DROP开头的语句而激活的,并且不再有instead of 的触发方式了 按作用的不同对象又可分为两种: 1) 针对服务器方式 2) 针对数据库方式 建立DDL触发器的语法代码如下: 事 务 概 述 什么是事务 事务是一系列的任务组成的逻辑工作单元,这个逻辑单元中的所有任务必须作为一个整体要么全都完成要么全都失败。 事务的特性(ACID) 原子性 --A (Atomicity) 一致性 --C (Consistency) 隔离性 --I (Isolation) 持久性 --D (Durability) 编 写 事 务 事务是以“BEGIN TRAN” 语句开始,以“COMMIT [TRAN]”或“ROLLBACK [TRAN]” 语句结束,之间通常会有多个T-SQL语句。 编写事务时要遵守以下原则: 事务要尽可能简短 在事务中访问的数据量要尽量最少 浏览数据时尽量不要打开事务 在事务处理期间尽量不要请求用户输入 小 结 使用存储过程sp_addtype可以创建用户定义数据类型,使用CREATE FUNCTION语句可以创建用户定义函数。使用DROP TYPE语句可以删除用户定义数据类型,使用DROP FUNCTION语句可以删除用户定义函数。 触发器是与数据库和数据表相结合的特殊的存储过程。 当数据表有In

文档评论(0)

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

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

1亿VIP精品文档

相关文档