Oracle数据库触发器是一种功能强大的对象,它在数据库提供了另一种数据管理模式,可以实现自动执行表达式。有多种不同类型的Oracle数据库触发器,它们可以满足不同应用场景的需求。下面简单介绍一下Oracle数据库内置的触发器类型。
–表触发器
表触发器是针对表的操作而触发的,常用的操作有:insert/update/delete。当对一个表进行上述操作时,Oracle引擎会检查该表中有无此类型的触发器,并按照触发器定义的操作执行。具体实现如下:
create trigger
on
for each row
begin
–statements
end
–全局触发器
全局触发器也可以称之为之前提到的表触发器的补充,它可以对所有的 DML 操作触发,即不仅仅针对某张表的操作,而是所有表的操作,可以用来实现跨表的一致性,比如创建时间的实现,用户的操作权限的控制等等,实现方法如下:
create or replace trigger
after
begin
–statements
end
–背景触发器
背景触发器是一种特殊的触发器,它可以实现在指定时间段内或者是触发器触发之后某些条件满足时才执行的操作,功能强大,以实现一些复杂自动化检查及调整数据库表中数据的效果。具体实现如下:
create or replace trigger
after
begin
–【单行执行 】dbms_job.submit(job => ,what=>’–statements’);
end
以上就是Oracle数据库内置的触发器类型简介,触发器的应用范围广泛,妥善的管理和使用,可以大大提高数据库的效率,达到自动化的目的。