- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
创建触发器资料
任务8:创建触发器 理解事务并能灵活使用; 理解触发器的作用和分类; 能创建INSERT触发器; 能创建UPDATE触发器; 能创建DELETE触发器。 一、事务 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。 如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中的永久组成部分。如果事务遇到错误且必须取消或回滚,则所有数据更改均被清除。 1.显式事务 每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 ………. ………. COMMIT ROLLBACK 事务结束 COMMIT: 事务正常结束 提交事务的所有操作 事务中所有对数据库的更新永久生效 ROLLBACK: 事务异常终止 事务运行的过程中发生了故障,不能继续执行 回滚事务的所有更新操作 事务滚回到开始时的状态 2.隐式事务 当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务。 当 SQL Server 首次执行下列任何语句时,都会自动启动一个事务: ALTER TABLE、INSERT、CREATE、OPEN、DELETE、REVOKE、DROP、SELECT、FETCH、TRUNCATE TABLE、GRANT、UPDATE 二、触发器概述 1.触发器概念 触发器是一种特殊的存储过程,它在执行语言事件时自动生效。 触发器是一段自动执行的程序,并不需要由用户来直接调用; 当对表进行INSERT、DELETE、UPDATE等操作时,自动激活触发器,并运行其中的T-SQL语句。 每个表可以建立多个触发器,有插入触发器、更新触发器、删除触发器,分别对应于INSERT、UPDATE和DELETE操作。也可以将多个操作定义为一个触发器。 2.触发器优点 对表的修改合乎业务规则。如、有商品销售时,销售记录添加后,库存表中该商品的库存量自动减少。 实现比CHECK约束更为复杂的约束。 CHECK约束不允许引用其它表中的字段,而触发器可以。 实现参照完整性约束、数据库中多表的级联修改,可使用外键约束或触发器。 优点 3.触发器的类别 SQL Server2005 包括两大类触发器:DML 触发器和 DDL 触发器。 (1)DML 触发器在数据库中发生数据操作语言 (DML) 事件时将启用。DML 事件包括在指定表或视图中修改数据的 INSERT 语句、UPDATE 语句或 DELETE 语句。 (2)DDL 触发器是 SQL Server 2005 的新增功能。当服务器或数据库中发生数据定义语言 (DDL) 事件时将调用这些触发器。 4.INSERTED和DELETED临时表 触发器被激活后,自动创建这两个临时表。这两个临时表存放在内存中,不存放在数据库中。触发器执行完成后,两个临时表自动删除。 INSERTED表:在执行INSERT或UPDATE语句时,新的数据行被添加到数据表中,同时这些新的数据行被复制到inserted表中。 DELETED表:在执行delete或update语句时,从数据表中删除旧的数据行,然后将这些旧的数据行存入deleted表中。 Update操作相当于先执行delete操作,然后执行insert操作。 三、 DML触发器的应用 after insert触发器 当记录添加到表中后,该触发器激活,创建inserted临时表,添加到表中的新记录行同时复制到inserted表。 after update触发器 当表中记录修改后,该触发器激活,创建inserted和deleted临时表,修改前的旧记录行存入deleted表,修改后的新记录行存入inserted表。 after delete触发器 当表中记录删除后,该触发器激活,创建deleted临时表,删除的记录行存入deleted表。 1.创建after insert触发器 创建触发器 CREATE TRIG
原创力文档


文档评论(0)