- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL_触发器
第10章 触发器的创建和使用 教学目标 了解触发器的概念和类型 理解触发器的优点 掌握触发器的创建、执行和删除等操作 教学重点 理解触发器的优点 掌握触发器的创建、执行和删除等操作 10.1 触发器(TRIGGER [trig?] ) 触发器概述 DML触发器的创建和应用 DDL触发器的创建和应用 查看、修改和删除触发器 触发器概述 (1/4) 触发器是一种特殊类型的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某个事件发生时自动被触发执行的。触发器可以用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。 10.1.1 触发器的概念 当创建数据库对象或在数据表中插入记录、修改记录或者删除记录时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。触发器和引起触发器执行的SQL语句被当作一次事务处理,如果这次事务未获得成功,SQL Server会自动返回该事务执行前的状态 例如,当对某一个表进行诸如UPDATE、INSERT、DELETE这些操作时,SQL Server就会自动执行触发器所定义的T-SQL语句,从而确保对数据的处理必须符合由这些T-SQL语句所定义的规则。 10.1.2 触发器的优点 使用触发器有以下优点: 触发器是自动执行的。 触发器可以通过数据库中的相关表进行层叠更改。 触发器可以强制限制。这些限制比用CHECK约束所定义的更复杂。 触发器概述 1. 触发器的作用 触发器的主要作用是能实现由主键和外键所不能保证的、复杂的参照完整性和数据的一致性,除此之外,触发器还有其他许多不同的功能。 可以调用存储过程 为了响应数据库更新,触发器的操作可以通过调用一个或多个存储过程,甚至可以通过调用外部过程完成相应操作。 跟踪变化 触发器可以侦测数据库内的操作,从而禁止了数据库未经许可的更新和变化,使数据库的修改、更新操作更安全,数据库运行更稳定。 触发器概述 可以强化数据条件约束 触发器能够实现比CHECK语句更为复杂的约束,更适合在大型数据库管理系统中用来约束数据的完整性 级联和并行运行 触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表的触发器中包含有对另外一个表的数据操作,如删除、更新、插入,而该操作又导致该表上的触发器被触发。 由此可见,触发器可以实现高级形式的业务规则、复杂行为限制和定制记录等功能。 10.1.3 触发器的类型 按照触发事件的不同,可以把Microsoft SQL Server 2005系统提供的触发器分成两大类型,即DML触发器和DDL触发器。 DML触发器可以在数据库中数据修改时被执行。DML事件包括在指定表或视图中修改数据的INSERT语句、UPDATE语句或DELETE语句。DML触发器可以查询其他表,还可以包含复杂的T-SQL语句。系统将触发器和触发它的语句作为可在触发器内回滚的单个事务对待,如果检测到错误(例如,磁盘空间不足),则整个事务自动回滚。 DDL触发器是Microsoft SQL Server 2005的新增功能。当服务器或数据库中发生数据定义语言(DDL)事件时将调用这些触发器。 DDL触发器与DML触发器的相同之处在于都需要触发事件进行触发,但是,它与DML触发器不同的是,它不会为响应针对表或视图的UPDATE、INSERT或DELETE语句而触发,相反,它会为响应多种数据定义语言(DDL)语句(如:CREATE、ALTER)而触发。规范数据库操作,防止数据库表结构被修改等。 10.2 DML触发器的创建和应用 在Microsoft SQL Server 2005系统中,按照触发器事件类型的不同,可将DML触发器分成3种类型:INSERT类型、UPDATE类型和DELETE类型 如果该表有INSERT类型的DML触发器,则当向一个表中插入数据时,则该INSERT类型的触发器触发执行; 如果该表有UPDATE类型的DML触发器,则当对该触发器表中的数据执行更新操作时,该触发器就执行; 如果该表有DELETE类型的DML触发器,当对该触发器表中的数据执行删除操作时,该DELETE类型的DML触发器就触发执行。 也可以将这三种触发器组合起来使用。 10.2 DML触发器的创建和应用 按照触发器和触发事件的操作时间划分,可以把DML触发器分为AFTER触发器和INSTEAD OF触发器。 当在INSERT、UPDATE、DELETE语句执行之后才执行DML触发器的操作时,这种触发器的类型就是AFTER触发器。AFTER触发
您可能关注的文档
- SPF小动物房操作.ppt
- SPIN 逻辑提问法.pptx
- SPSS课件第10章.ppt
- SQL Server 内部结构.pptx
- SQL SERVER 触发器的操作与管理.ppt
- SQL Server项目任务结题书.doc
- SQL2005触发器简介.doc
- SQL数据库应用(第十一章).ppt
- SQL第08章 存储过程和触发器.ppt
- Starter Unit 2 音标.ppt
- 2025年初级银行从业资格之初级个人理财考试题库及答案【夺冠】.docx
- 2025年初级银行从业资格之初级个人理财考试题库及参考答案(预热题).docx
- 深圳大学高数课件—统计学指数深证成指.ppt
- 2025年初级银行从业资格之初级个人理财考试题库及完整答案(夺冠).docx
- 2025年初级银行从业资格之初级个人理财考试题库【真题汇编】.docx
- 2025年初级银行从业资格之初级个人理财考试题库及答案(名师系列).docx
- 2025年初级银行从业资格之初级个人理财考试题库【达标题】.docx
- 湘雅儿科课件Measl.ppt
- 2025年初级银行从业资格之初级个人理财考试题库【名校卷】.docx
- 2025年初级经济师之初级经济师基础知识考试题库(综合题).docx
文档评论(0)