- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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数据表中。此时可以查看新、
您可能关注的文档
- SQLServer2005数据库技术与应用郭江峰第10章索引课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第11章规则课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第12章默认值课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第13章存储过程课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第14章触发器课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第15章SQLServer2005的安全性课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第16章备份与恢复课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第17章XML课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第18章SQLServer分析服务课件教学.ppt
- SQLServer2005数据库技术与应用郭江峰第19章SQLServer报表服务课件教学.ppt
- SQLServer2005数据库技术与应用赵丽辉第11章游标、事务课件教学.ppt
- SQLServer2005数据库技术与应用赵丽辉第12章数据库安全操作课件教学.ppt
- SQLServer2005数据库技术与应用赵丽辉第13章数据库管理操作课件教学.ppt
- SQLServer2005数据库技术与应用赵丽辉第14章SQLServer2005实例课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务八课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务二课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务六课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务七课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务三课件教学.ppt
- SQLServer2005数据库任务化教程梁竞敏黄华林宋广科等编著任务四课件教学.ppt
最近下载
- 2025年玉溪市中考数学试卷真题(含答案解析).docx
- 中缅边境景颇克钦族:社会经济的历史、现状与发展路径探究.docx
- 电工电子技术基础(高职)期末检测考试题卷及答案.doc VIP
- 健康管理师第七章-健康教育学.ppt VIP
- 《婴幼儿动作发展与训练》项目一 0~3岁婴幼儿动作发展概述.pptx
- 电力系统自动化(第章) 同步发电机的自动并列.ppt VIP
- 冠脉介入培训教程分叉病变的介入治疗演示文稿.ppt VIP
- 汽车电器设备构造与维修课程教学实施方案..doc VIP
- (新教材)部编人教版三年级上册语文全册核心素养教案(教学反思无内容+二次备课版).docx
- 播音与主持创作基础考试题库.doc VIP
文档评论(0)