在pl / sql中手动命令触发器触发

时间:2014-04-25 02:03:05

标签: sql oracle plsql triggers

我在表A上插入触发器之前有表A和4行级别。 触发器触发的顺序是什么? 是运行时决定的吗? 我们可以订购触发器,例如触发2然后触发4然后触发3然后触发1?

1 个答案:

答案 0 :(得分:2)

documentation开始,在执行不同类型的触发器之前,所有相同类型的触发器。如果同一个表上有多个相同类型的触发器,则数据库会选择一个任意的,不可预测的顺序。

如果您希望它以明确的顺序执行,您应该使用FOLLOWS子句。

CREATE OR REPLACE TRIGGER2
BEFORE INSERT
ON TEST_TABLE
FOR EACH ROW

CREATE OR REPLACE TRIGGER4
BEFORE INSERT
ON TEST_TABLE
FOR EACH ROW
FOLLOWS TRIGGER2

CREATE OR REPLACE TRIGGER3
BEFORE INSERT
ON TEST_TABLE
FOR EACH ROW
FOLLOWS TRIGGER4