系统概览: Oracle 触发器类型(oracle触发器类型)
Oracle触发器是用来在ORACLE数据库中自动执行某些指定操作的特殊存储过程。它工作在ORACLE层,它能识别数据库表或行为发生改变之后,立即响应。本文将对Oracle触发器的特性以及分类进行介绍。
Oracle支持三种类型的触发器,分别是行触发器,表触发器和数据库触发器。
行触发器是当特定的ORACLE行发生更新操作时,它将被触发。它工作在行级别,只有更新的行才会触发该触发器。下面的例子创建了一个行触发器TRG_ABC,当ABC表中的某行更新时,触发器将修改另一列:
“`sql
CREATE OR REPLACE TRIGGER TRG_ABC
BEFORE UPDATE ON ABC
FOR EACH ROW
BEGIN
IF :old.COL1 = :new.COL1 THEN
:new.NEW_COL = ‘Updated’;
END IF;
END;
表触发器是当特定的ORACLE表发生更新操作时,它将被触发。它工作在表级别,当发现有任何表行发生更新时,触发器都将激活。下面的例子创建了一个表触发器TRG_ABC,当ABC表中的任何行更新时,触发器将删除该表:```sql
CREATE OR REPLACE TRIGGER TRG_ABC AFTER UPDATE ON ABC
BEGIN DELETE FROM ABC;
END;
数据库触发器是当任何数据库操作发生更新操作时,它将被触发。它工作在数据库级别,当发现任何表行发生更新时,触发器都将激活。下面的例子创建了一个数据库触发器TRG_UP,当发现任何数据库行更新时,触发器将更新另一张表:
“`sql
CREATE OR REPLACE TRIGGER TRG_UP
AFTER UPDATE ON DATABASE
BEGIN
UPDATE ABC SET COL1=‘Updated’;
END;
Oracle触发器有三种不同类型,它们分别是行触发器,表触发器和数据库触发器。它们都可以自动执行某些操作,但它们在工作机制上有很大差别,根据不同的数据库操作触发触发器。Oracle触发器是广泛应用于ORACLE数据库中的一种有效手段,它能让数据库系统更加自动化以及提高效率。