Oracle触发器:不同类型的应用(oracle触发器类型)

Oracle触发器(Triggers)允许Sql表达式和PL/SQL块的执行,从而实现基于特定的事件的任务自动化,如修改表数据、检查参数有效性、维护主外键等。Oracle触发器分为四类:”BEFORE”,”AFTER”,”INSTEAD OF”和”COMBINATION”类型。

1.BEFORE类型触发器,可以在数据行新建、删除或是更新时发生,在事实发生前运行,如:

CREATE OR REPLACE TRIGGER TRIGGERNAME

BEFORE INSERT OR DELETE OR UPDATE ON TABLE_NAME

FOR EACH ROW

BEGIN

–trigger body

END;

2.AFTER类型触发器,在数据表发生插入、删除或更新行操作后发生,可以通过它实现记录日志,如:

CREATE OR REPLACE TRIGGER TRIGGERNAME

AFTER INSERT OR DELETE OR UPDATE ON TABLE_NAME

FOR EACH ROW

BEGIN

–trigger body

END;

3.INSTEAD OF类型触发器,在视图操作时发生,可以将DML或者DDL语句更改为其他形式(可以是对相关数据表的操作),如:

CREATE OR REPLACE TRIGGER TRIGGERNAME

INSTEAD OF INSERT OR DELETE OR UPDATE ON VIEW_NAM

BEGIN

–trigger body

END;

4.COMBINATION类型触发器,由多个触发器组成,可以将混合的表操作(DDL和DML)组合成一个触发器创建,如:

CREATE OR REPLACE TRIGGER TRIGGERNAME

AFTER INSERT OR DELETE OR UPDATE ON TABLE_NAME

FOR EACH ROW

BEGIN

–DML Statement here

–DDL Statement here

END;

Oracle触发器的运用可以获得更好的业务和应用功能,满足不同的需求。它可以便捷的实行表较小操作的定期任务,更大程度地减少程序开发时间,提高了数据库的稳定性和质量,可以在数据的改动、删除时实施一定的控制,从而保证数据的完整性,同时还可以与程序结合起来,对用户有一种特定的响应。


数据运维技术 » Oracle触发器:不同类型的应用(oracle触发器类型)