我搜索了一下,发现了一些关于如何从数据库触发器调用 java 代码的信息,但没有找到相反的信息。不能从java方法调用触发器吗?插入到一个表(Table1)后,我需要从第一个表的选择中创建几行到另一个表(Table2)。我构建了触发器,但如果我让它在第一个表上插入后执行,我会收到一个错误:
ORA-04091: table Table1 is mutating, trigger/function may not see it ORA-06512:....
我正在开发一个 ADF 应用程序,并且由于 Table1-Table2 具有主从关系,因此它可能不允许以这种方式插入行。这就是为什么我认为通过按钮调用触发器可以解决我的问题。任何的想法?
触发器:
CREATE OR REPLACE TRIGGER Table2
AFTER INSERT ON Table1 REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
insert into Table2
(
Select col1,col2... from Table1
);
END;