Oracle 触发器:介绍不同类型的应用(oracle触发器类型)
Oracle 触发器是一种在特定自定义事件发生时,能够自动激活的程序单元,常用来进行一些自动化任务。它最重要的优点是可以自动发现执行,而不需要额外的程序来实现。下面我们就来看一下Oracle触发器的特点,以及不同应用场景下不同类型的触发器,从而熟练掌握Oracle触发器的使用。
要使用Oracle触发器,必须要先创建触发器。Oracle触发器的创建有2中情况,一是使用触发器的CREATE语句来创建,还可以使用Oracle的Package Management Wizard程序来实现。这里我们就用CREATE语句来创建一个Oracle触发器。
以下是使用CREATE语句创建触发器的方法:
1. CREATE OR REPLACE TRIGGER trigName
{BEFORE | AFTER | INSTEAD OF }
条件
{DELETE | INSERT | UPDATE [OF colName] }
ON tabName
[FOR EACH ROW]
{声明变量,函数,等可选部分}
2. BEGIN
[ 开始触发器执行的语句 ]
3. END;
Oracle 触发器主要分为三类,分别是Row Level Trigger(行级触发器)、 Statement Level Trigger(语句级触发器)和System Triggers(系统触发器)
1.Row Level Trigger:又叫行级触发器,当SELECT、INSERT、UPDATE或DELETE被执行时会被引发。Row Level Trigger会将每一行当做单独一个数据条目来看待,对每一行执行触发器。在Oracle中,Row Level Trigger使用FOR EACH ROW关键字来创建,这是一个表示循环执行的语法。
2.Statement Level Trigger:又叫语句级触发器,当SELECT、INSERT、UPDATE或DELETE被执行时会被引发。Statement Level Trigger只会执行一次,而不会循环执行。它只会看到整个数据库操作,而不会看到每一行。
3.System Triggers:又叫系统触发器,这种触发器是和数据库本身关联的,它的触发事件并不是由用户的某个操作而触发的,而是系统事件。
Oracle触发器在各类应用场景中都显示出它的用处:
1.在记录删除或更新前自动插入相应的“变更记录”;
2.在某一特定操作触发时发出警报;
3.在触发时自动进行数值校验等;
4.在数据处理完成后,自动生成邮件或日志,用于及时记录系统变动;
以上就是Oracle 触发器相关知识介绍及不同应用场景下不同类型的触发器概述,希望大家都能深入理解Oracle触发器,以便在实际应用中更好的调用它来完成自动化任务。