【发布时间】:2018-02-04 05:08:10
【问题描述】:
我正在尝试从触发器调用存储过程
create or replace trigger trg_insert
after insert on dbuser_m1
for each row
begin
InsertData;
end;
但低于错误
ORA-04088: 执行触发器时出错 'OWS_GO_UAT_02.TRG_INSERT' 04091. 00000 - “表 %s.%s 正在变异,触发器/函数可能看不到它” *原因:触发器(或用户定义的 plsql 函数,在 这个语句)试图查看(或修改)一个表 在被触发它的语句修改的过程中。 *操作:重写触发器(或函数),使其不读取该表。
有人可以帮我吗?谢谢,
【问题讨论】:
-
这是在触发器中调用存储过程的正确方法吗?
-
它与调用“无参数过程”无关。问题是您的无参数过程正试图访问同一个表。向我们展示
InsertData的代码,或者让我们知道您要在其中做什么。