深入浅出Oracle触发器类型(oracle触发器类型)

Oracle触发器是在表或视图上自动执行的存储过程或者操作,在数据库中具有重要作用,用来完成一些数据库操作,可以更有效的更新数据。一般来说,触发器分成了三类:BEFORE、AFTER和INSTEAD OF触发器三类,在本文中将会深入浅出的解释Oracle触发器的三类类型的区别。

首先,BEFORE触发器是在满足条件的操作发生之前就会被调用的,例如可以在数据库中插入前,保持某个字段的值不变,一般在完成“提前检查”这类任务时常使用。Oracle中创建BEFORE触发器的语句如下:

CREATE OR REPLACE TRIGGER "" 
BEFORE PRCEDURE ON ""
FOR EACH ROW
BEGIN

END;

其次,AFTER触发器是在满足条件的操作发生之后会被调用,用来实现例如级联更新、日志记录等,例如在UPDATE操作完成后来将日志一起更新到数据库。Oracle中创建AFTER触发器的语句如下:

CREATE OR REPLACE TRIGGER "" 
AFTER PRCEDURE ON ""
FOR EACH ROW
BEGIN

END;

最后,INSTEAD OF触发器是在视图上触发的触发器,他们用来拦截常观图上的INSERT、DELETE和UPDATE操作来包装了实际INSERT、DELETE和UPDATE操作,例如在使用视图进行插入操作前修改一下插入值。Oracle中创建INSTEAD OF触发器的语句如下:

CREATE OR REPLACE TRIGGER "" 
INSTEAD OF PRCEDURE ON ""
FOR EACH ROW
BEGIN

END;

总之,Oracle触发器可以分成三类,分别是BEFORE、AFTER和INSTEAD OF触发器。BEFORE触发器是在满足条件的操作发生之前就会被调用,AFTER触发器是在满足条件的操作发生之后会被调用,而INSTEAD OF触发器是用来拦截常观图上的INSERT、DELETE和UPDATE操作。


数据运维技术 » 深入浅出Oracle触发器类型(oracle触发器类型)