将数据插入表 A 时出现 ORA-04091 错误。表 A 记录正在引用同一个表 1:N 中的其他记录。父记录具有 fk_id = null 并且子记录具有 fk 不为空。
create or replace trigger TRBI_A
BEFORE INSERT ON A
for each row
BEGIN
IF :new.fk_id IS NOT NULL then
UPDATE A SET actualTS = CURRENT_TIMESTAMP WHERE id = :new.fk_id;
END IF;
END;
ORA-04091: 表名发生变化,触发器/函数可能看不到它
该问题可能是由尝试修改或查询当前正在由触发触发器的语句修改的表的触发器引起的。有谁知道如何修改触发器以使其正确?