- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据库管理与应用实例教程触发器.ppt
Oracle数据库管理与应用实例教程
本章学习导航
本章学习导航
本章学习要点
(1)触发器的基础知识。
(2):OLD和:NEW变量。
(3)SQL Developer创建、修改、查看、编译和删除触发器。
(4)PL/SQL创建、修改、查看、编译和删除触发器。
(5)触发器的功能及使用。
(6)eBuy电子商城中的典型触发器
9.1 触发器概述
触发器简介
触发器是一种特殊的存储过程,它与数据表紧密联系,用于保护表中的数据,当一个定义了特定类型触发器的基表执行插入、修改或删除表中数据的操作时,将自动触发触发器中定义的操作,以实现数据的一致性和完整性。
触发器拥有比数据库本身标准的功能更精细和更复杂的数据控制能力。
触发器具有以下的作用:
(1)在安全性方面,触发器可以基于数据库的值使用户具有操作数据库的某种权利。
(2)在审计方面,触发器可以跟踪用户对数据库的操作。
(3)实现复杂的数据完整性规则。
(4)实现复杂的非标准的数据库相关完整性规则。触发器可以对数据库中相关的表进行连环更新。
(5)同步实时地复制表中的数据。
(6)自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。例如,如果商品的数量低于5,则立即给管理人员发送库存报警信息。
9.1 触发器概述
触发器类型
1.触发器的功能
(1)DML触发器
当对表进行DML操作时触发,可以在DML操作前或操作后触发。
(2)替代触发器
是Oracle用来替换所使用的实际语句而执行的触发器。
(3)系统触发器
在Oracle数据库系统的事件(Oracle系统的启动与关闭等)中进行触发。
(4)用户事件触发器
指与数据库定义语句或用户的登录/注销等事件相关的触发器。
2.触发事件
按触发事件的不同,触发器可以分为插入型(INSERT)、更新型(UPDATE)和删除型(DELETE)触发器。
对于插入型触发器,当触发器所在的表发生插入操作时,触发器将自动触发执行。对于更新型触发器,当触发器所在的表发生更新操作时,触发器将自动触发执行。同样,对于删除型触发器,当触发器所在的表发生删除操作时,触发器也将自动触发执行。
9.1 触发器概述
触发器类型
3.触发时间
根据指定的事件和触发器执行的先后次序,触发器可以分为BEFORE型和AFTER型触发器。
如果在指定的事件(INSERT、UPDATE或者DELETE)之前执行触发器,这类触发器称为BEFORE触发器;若在指定的事件之后执行触发器,则称这类触发器为AFTER触发器。
4.触发级别
根据触发级别的不同,触发器可以分为行触发器和语句触发器。
对于行触发器,受触发事件影响的每一行都将引发触发器的执行;而对于语句触发器,触发事件只触发一次,即使有若干行受触发事件的影响,也只执行一次触发操作。
9.1 触发器概述
:OLD变量和:NEW变量
在Oracle系统中,每个触发器被DML操作触发时,会产生两个特殊的变量:OLD和:NEW,分别代表某数据记录行在修改前和修改后的值。这两个变量都是系统变量,由Oracle系统管理,存储在内存中,不允许用户直接对其进行修改。:OLD和:NEW变量的结构总是与执行DML操作的表的结构相同。当触发器工作完成以后,这两个变量也随之消失。这两个变量的值是只读的,即用户不能向这两个变量写入内容,但可以引用变量中的数据。
:OLD变量用于存储DELETE和UPDATE操作所影响的行的副本。当执行DELETE或UPDATE操作时,行从触发表中被删除,并传输到:OLD变量中。
:NEW变量用于存储INSERT和UPDATE操作所影响的行的副本。当执行INSERT或UPDATE操作时,新行被同时添加到:NEW变量和触发表中,:NEW变量中的行即为触发表中新行的副本。
9.1 触发器概述
:OLD变量和:NEW变量
课堂案例1—使用SQL Developer管理触发器
学习使用SQL Developer创建触发器的方法和基本步骤,掌握触发器的执行时机 。
案例学习目标
SQL Developer创建触发器、验证触发器的作用 。
案例知识要点
课堂案例1—使用SQL Developer管理触发器
案例完成步骤-创建触发器
1.创建触发器
(1)在SQL Developer中右击Triggers选项,从快捷菜单中选择“New Trigger”项,将开始创建触发器。
(2)在打开的“Create Trigger”对话框中,输入TR_ADDUSER作为新建触发器的名称;选择触发器类型(Trigger Type)为TABLE,并选择触发表为客户表USERS。然后选择触发器类别信息为After、语句级别(Statement Level)和插入型(Inse
文档评论(0)