Oracle Database 10g基础教程15

Oracle Database 10g基础教程15

ID:43095408

大小:77.00 KB

页数:19页

时间:2019-09-29

Oracle Database 10g基础教程15_第1页
Oracle Database 10g基础教程15_第2页
Oracle Database 10g基础教程15_第3页
Oracle Database 10g基础教程15_第4页
Oracle Database 10g基础教程15_第5页
资源描述:

《Oracle Database 10g基础教程15》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第15章触发器OracleDatabase10g基础教程清华大学出版社教学目标教学难点和重点教学过程7/20/20211教学目标了解触发器的特点和作用理解和掌握触发器的组成部分理解和掌握触发器的类型和应用特点理解和掌握触发器的系统事件的应用理解和掌握触发器的用户事件的特点7/20/20212教学难点和重点触发器的特点和作用触发器的组成部分触发器的类型和应用触发器的系统事件的应用触发器的用户事件的特点7/20/20213教学过程15.1概述15.2语句触发器15.3行触发器15.4insteadof触发器15.5系统事件触发器15.6用户事件触发器15

2、.7禁用触发器和事务处理15.8查看触发器信息15.9事件属性函数7/20/2021415.1概述使用触发器可以完成的功能包括:允许或限制对表的修改自动生成派生列强制数据一致性提供审计和日志记录防止无效的事务处理启用复杂的业务逻辑7/20/20215触发器的组成在Oracle系统中,触发器有4个组成部分:触发器名称触发语句触发器限制触发操作7/20/20216触发器名称触发器名称就是触发器的名称。数据库中的每一个对象都有名称,触发器对象也不例外。一般地,应该采用描述性名称来定义触发器名称。在触发器名称中,应该包括触发器执行的时间、执行的操作、涉及的表

3、、涉及的列等。7/20/20217触发语句触发语句就是那些导致Oracle执行触发器的事件。触发器事件可以是下面这些内容:表和一些试图上的数据操纵语言语句,例如insert、update、delete;模式对象上的数据定义语言语句,例如create、alter、drop;数据库的启动和关闭;系统错误;各种系统活动7/20/20218触发器限制即使导致触发器激活的事件发生了,但是也不意味着Oracle就会执行它。激活事件发生之后,触发器首先判断在触发器上是否存在限制,然后才会在执行触发器之间评估所有的限制。7/20/20219触发操作触发操作是触发器的

4、主体。Oracle会在发生如下两件事情时,才会执行代码块:使用了合适的语句;如果提供了触发器限制,则评估为真。7/20/202110触发器的类型在Oracle系统中,包括了5种类型的触发器。每一种类型的触发器都可以完成不同的任务。这5种类型的触发器是:语句触发器;行触发器;insteadof触发器;系统事件触发器;用户事件触发器。7/20/20211115.2语句触发器语句触发器是在表上或某些视图上执行的特定语句的触发器。语句触发器能够与insert、update或delete语句或这些语句的任意组合关联。用户既可以在表的insert或update上

5、使用单独的触发器,也可以在表的insert和update组合上使用触发器,甚至可以在单独的表上拥有多个insert语句触发器。用户还可以在一个表上拥有多个insert语句触发器。无论update触发器影响了多少行数据,也只会调用一次update触发器。如果在表上有多个update触发器,那么每一个触发器都会被调用一次。7/20/20211215.3行触发器我们不仅可以建立为表上各个insert或update或delete语句激活的触发器,而且还可以定义受到影响的各个行激活的触发器。这些触发器称为行触发器。行触发器的定义方式与语句触发器类似,但是有两个

6、例外:第一,行触发器要在触发器定义的触发语句中包含foreachrow子句,还可以包含referencing子句。第二,在before…foreachrow触发器中,可以引用受到影响的行值,甚至可以在触发器中设置这些值。行触发器的作用主要是可以让触发器的编写人员有能力为主键提供默认设置,并且还可以格式化输入表中的数据。7/20/20211315.4insteadof触发器insteadof触发器是Oracle系统用来替换所使用的实际语句而执行的触发器,与导致触发器激活的语句执行之前或执行之后执行的语句触发器和行触发器不同。例如,如果在视图上执行ins

7、ert操作的用户,且该视图上有insteadof插入触发器,那么Oracle系统就不会执行用户的触发器。然后,用户的触发器就可以执行编码所要执行的所有操作。它可以向基本表或另外的表中插入用户数据,还可以对用户试图插入数据的事实进行日志记录,还可以从完全没有关系的表中删除数据。当然,这些操作都依赖于用户的编码。7/20/20211415.5系统事件触发器Oracle系统还允许开发人员建立与特定系统事件相关的触发器。这些特定事件是:数据库启动数据库关闭服务器错误这些事件都是实例范围的。这些触发器不像前面讲过的那些触发器一样,与特定的表或视图关联。7/20

8、/20211515.6用户事件触发器用户事件触发器也称为客户触发器,是能够与insert、update、de

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。