掌握Oracle触发器的4种类型(oracle触发器类型)

Oracle触发器定义为当特定事件发生时,会自动引发的存储来执行的程序。一般来讲,它会在语句被解析之后(进入实际执行之前)立即执行,可以用来实施数据库里的商业逻辑。Oracle触发器一般由事件来区分,它们可以分为INSERT/UPDATE/DELETE/SELECT四类:

1、INSERT触发器:INSERT触发器激活后,会在指定的表中插入一条新纪录。他根据表所有者就可分为BEFORE和AFTER类型触发器,在插入一条新纪录之前或者之后会激活制定的存储过程,关于在插入新纪录时干了什么,可用下面的CREATE TRIGGER语句定义:

“`sql

CREATE OR REPLACE TRIGGER emp_ins_trig

BEFORE INSERT ON emp

FOR EACH ROW

BEGIN

END;


2、UPDATE触发器:UPDATE触发器在更新某一表的记录时激活。UPDATE触发器根据表的所有者可分为BEFORE和AFTER类型,在更新某一表的纪录之前(或之后)执行触发器,它们可以用以下语句来定义:

```sql
CREATE OR REPLACE TRIGGER emp_upd_trig
BEFORE UPDATE ON emp
FOR EACH ROW
BEGIN
...
END;

3、DELETE触发器:DELETE触发器会在某一表中的纪录被删除时被激活,当DELETE触发器被激活后,它会自动执行指定的存储过程,它也可以像INSERT/UPDATE触发器一样根据表的所有者可以分为BEFORE和AFTER类型,下面是一个DELETE触发器的定义:

“`sql

CREATE OR REPLACE TRIGGER emp_del_trig

BEFORE DELETE ON emp

FOR EACH ROW

BEGIN

END;


4、SELECT触发器:SELECT触发器会在特殊的条件下(用SELECT语句去检索表时)被触发。SELECT触发器定义如下:

```sql
CREATE OR REPLACE TRIGGER emp_sel_trig
BEFORE SELECT ON emp
FOR EACH ROW
BEGIN
...
END;

Oracle触发器可以节省程序员大量的开发工作,让数据库对外界的变化和操作进行动态监控和实施响应的行动。本文介绍了Oracle触发器的四种类型,依据表的所有人来区分INSERT/UPDATE/DELETE/SELECT触发器,通过以上内容,我们可以掌握Oracle触发器的4种类型的知识.


数据运维技术 » 掌握Oracle触发器的4种类型(oracle触发器类型)