掌握Oracle触发器类型,迈向成功!(oracle触发器类型)

Oracle触发器是数据库开发的基本技术的一种,在Oracle数据库中,分为三种触发器:表触发器、行触发器和存储过程触发器。

表触发器是最常用的一种触发器,它是在表上定义,当发生INSERT,UPDATE 或DELETE操作时,就会被触发,并且只能被触发一次。 例如当插入信息进入某张表时,希望触发一些操作来做特定的事情,在这种情况下,应该使用表触发器。 创建表触发器的语法如下:

CREATE OR REPLACE TRIGGER [触发器名称]

AFTER/BEFORE [INSERT/UPDATE/DELETE]

ON [表名]

FOR EACH ROW

BEGIN

— 触发器执行体

END;

行触发器是在行上定义的,当发生INSERT,UPDATE 或DELETE操作时,在操作的行上触发,该触发器可以多次触发。 一般用于当每行信息更新完毕时想要做特定操作时,比如当每行更新完毕后希望把更新信息添加进日志表中,就可以使用行触发器。 创建行触发器的语法如上例,只不过替换FOR EACH ROW换成FOR EACH ROW 下面的示例显示如何创建一个行触发器:

CREATE OR REPLACE TRIGGER [触发器名称]

AFTER/BEFORE [INSERT/UPDATE/DELETE]

ON [表名]

FOR EACH ROW

BEGIN

— 触发器执行体

END;

存储过程触发器是定义在数据库或schema 上的,当发生INSERT,UPDATE 或DELETE操作时,都会触发,并且只能被触发一次。 例如,当数据库中更新了一张表,希望做某一特定事情,就可以使用存储过程触发器。 创建存储过程触发器的语法如下:

CREATE OR REPLACE TRIGGER [触发器名称]

AFTER/BEFORE [INSERT/UPDATE/DELETE]

ON [表名]/[数据库或Schame名]

BEGIN

— 触发器执行体

END;

掌握Oracle触发器的三种类型迈向成功的重要因素之一,它们之间的使用场景是完全不同的,应该灵活的利用它们来解决复杂的数据库问题。 学习Oracle触发器必须熟悉其语法 ,以及理解每种触发器是什么、什么场景要用到它们,才能正确地使用它们来解决Oracle数据库问题。


数据运维技术 » 掌握Oracle触发器类型,迈向成功!(oracle触发器类型)