深入浅出Oracle触发器类型实例解析(oracle 触发器类型)
Oracle触发器是一种特殊的存储过程,是Oracle数据库通过一些事件自动执行一组SQL语句,成为一个特殊的存储过程,其主要作用是在某个表中的数据发生改变时,帮助用户自定义将某些事件记录到某个日志文件中。Oracle触发器分为两种:行级触发器和表级触发器。
一、行级触发器
行级触发器是指用户可以在行数据发生变化时,根据行发生变化时的条件,自动触发触发器存储过程。在Oracle中,行级触发器可以根据数据变化来实现数据库中表(表)的自动完成操作。
示例:
CREATE OR REPLACE TRIGGER test_trig
AFTER UPDATE OR DELETE ON emp
FOR EACH ROW
BEGIN
IF DELETING THEN
insert into log (‘删除操作’,’EMP表’,sysdate);
ELSE
insert into log (‘修改操作’,’EMP表’,sysdate);
END IF;
END;
二、表级触发器
表级触发器是指操作数据库或表(表)时,在表发生变化时触发该存储过程,它不需要指定某一行的条件,只要表中的数据发生变化,就可以触发触发器存储过程。
示例:
CREATE OR REPLACE TRIGGER test_trig2
AFTER INSERT OR DELETE OR UPDATE ON emp
BEGIN
insert into log ( ‘操作’, ‘EMP表’,sysdate);
END;
综上所述,Oracle触发器主要是在表(表)中操作发生改变时,对表或表中的数据发生变化时,自动触发一些操作或存储过程,以达到完成自动操作的目的。Oracle触发器有行级触发器和表级触发器,用户可以根据自身操作需求定义触发器,实现自动完成操作。