- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库技术与应用任务 8.2.1 认识触发器01一、触发器的概念02二、触发器的优点三、触发器的类型03四、触发器的创建04一、触发器的概念1、触发器(Trigger) 触发器是一种特殊类型的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某个事件发生时自动被触发执行的,即它是在执行某些特定的T-SQL语句时自动执行的一种存储过程。 当创建数据库对象(CREATE、 DROP 、ALTER)或在数据表中插入记录(INSERT)、修改记录(UPDATE)或者删除记录(DELETE)时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。 触发器和引起触发器执行的SQL语句被当作一次事务处理(TRANSACTION) ,如果这次事务未获得成功,SQL Server会通过回滚(ROLLBACK),自动返回该事务执行前的状态。 二、触发器的优点2、触发器的优点触发器是自动的执行的。触发器可以通过数据库中的相关表进行层叠更改,即多张表的级联修改。触发器可以用于SQL Server强制约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。 说明:触发器虽然有诸多优点和功能,但一张表上一般不宜创建多个触发器,以免在对表进行操作,如在数据表中插入记录(INSERT)、修改记录(UPDATE)或者删除记录(DELETE)时,多个触发器之间互相影响,甚至出现矛盾的现象。 三、触发器的类型3、触发器的类型在SQL Server 2005 以上的版本中,触发器可以分为以下两种: DDL触发器 DDL触发器用于响应各种数据定义语言 (DDL) 事件。这些事件主要对应于 SQL Server 中的CREATE、ALTER 和 DROP 语句,以及执行类似 DDL 操作的某些系统存储过程。它们用于执行管理任务,并强制影响数据库的业务规则。 DML触发器 DML触发器是在用户使用数据操作语言 (DML) 事件编辑数据时发生。DML 事件是主要是针对表或视图的 INSERT、UPDATE 或 DELETE 语句。DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性。 本章主要讨论DML触发器 的创建和应用。 三、触发器的类型4、 DML触发器 DML触发器又分为AFTER触发器和INSTEAD OF触发器两种。 AFTER触发器:这种类型的触发器将在数据变动(INSERT、UPDATE和DELETE操作)完成以后才被触发,即仅在触发SQL语句中指定的所有操作都已成功执行时才被触发。 AFTER触发器只能在表上定义,不能对视图定义AFTER触发器。 INSTEAD OF触发器:INSTEAD OF触发器将在数据变动以前被触发,并取代变动数据的操作,而后再去执行触发器定义的操作,即先执行DML触发器而不是触发SQL语句。INSTEAD OF触发器可以在表或视图上定义。每个INSERT、UPDATE和DELETE语句最多定义一个INSTEAD OF触发器。 四、触发器的创建1、触发器的创建 在SQL Server 2016 中,创建存储过程的SQL语句如下:CREATE TRIGGER 触发器名 ON 表名 | 视图名 FOR | AFTER | INSTEAD OF Delete | Insert | Update ASSQL语句 [, ...n ]几点说明:CREATE TRIGGER 必须是批处理中的第一条语句。触发器只能在当前的数据库中创建。TRUNCATE TABLE(清空表中记录)语句不会引发 DELETE 触发器。WRITETEXT(写)语句不会引发 INSERT 或 UPDATE 触发器。 四、触发器的创建任务1:创建简单的触发器 要求在XS数据库中的Teacher表上创建一插入触发器,其目的是当向该表中插入一条记录时,即自动删除该表中的另一条记录,其SQL语句及执行结果如图8.2.1.1所示: 图 8.2.1.1创建的触发器四、触发器的创建任务2:验证触发器 的执行结果 如图8.2.1.2所示:从图中可以看出,当向teacher表中插入一条新记录时,则会激活触发器执行,即删除原表中的一条记录。 图 8.2.1.2即将被删除的记录插入的新记录谢谢观看
您可能关注的文档
- 认识存储过程.pptx
- 认识工程成本核算.pptx
- 认识无土栽培.pptx
- 认识潮汐和潮汐能.pptx
- 认识脑性瘫痪.pptx
- 认识财务会计报告.pptx
- 二零二三年 优质公开课认识错误.pptx
- 认识院内感染.pptx
- 训练三加法思维全国一等奖.pptx
- 训练二逆向思维市赛获奖.pptx
- 2025年传承红色精神演讲稿范文10篇.pdf
- 2025年人教版小学六年级数学下册期末毕业试卷(附答案).pdf
- 黑龙江省哈尔滨市第九中学校2025-2026学年高一上学期期中考试数学试题(Word版含答案).pdf
- 2025年全国职业能力中级电子商务师测评题及答案.pdf
- 2025年三残儿童管理制度范文.pdf
- 2025年中国古代文学之论-爱情与封建婚姻制度.pdf
- 2025年产教深度融合的MPAcc“财经素质链”人才培养模式创新与实践.pdf
- 2025年中级经济师经济基础第十七章财政政策.pdf
- 2025年东北农业大学黑龙江省绿色食品科学研究院工作人员招聘考试试题及答案.pdf
- 2025年六年级下册数学试题-期末复习卷 人教版含答案.pdf
文档评论(0)