触发器:
是特殊的存储过程,它在发生某种数据库事件时由oracle系统自动触发;触发器用于完成加强数据的完整性约束和业务规则等,对于表来说,触发器可以实现比check约束更为复杂的约束。
oracle触发器的种类可以分为DML触发器,替代触发器,系统事件触发器和DDL触发器。
DML触发器由DML语句触发,例如insert,update,delete等。按触发的时间分为before和after触发器。
instead of触发器又称替代触发器,用于执行一个替代操作来代替触发事件的操作。例如:针对insert事件的instead of触发器,它由insert语句触发,当出现insert语句时,该语句不会被执行,而是执行instead of触发器中定义的语句。
系统时间触发器:在发生如数据库启动或者关闭等事件时触发 ;
DDL触发器:由DDL语句触发,例如:create,alter和drop等语句。
创建触发器的语法:
create [or replace] trigger trigger_name
[before|after|instead of] trigger_event
{on table_name|view_name|database}
[for each row]
[enable|disable]
[when trigger_condition]
[declare declartion_statement ;]
begin
trigger_body ;
end trigger_name ;