gpt4 book ai didi

oracle - 如何修复 ORA-04091 : table is mutating, 触发器/函数可能看不到它?

转载 作者:行者123 更新时间:2023-12-04 09:03:38 25 4
gpt4 key购买 nike

我想创建一个触发器,使同一行上 trgr 的值等于 seq+100 的值。这就是我所做的,但我不断收到错误消息“表正在变异,触发器/函数可能看不到它”。

CREATE OR REPLACE TRIGGER update_tgr
AFTER INSERT ON challenge FOR EACH ROW
BEGIN
UPDATE challenge
SET trgr = :NEW.seq + 100
WHERE seq = :NEW.seq;
END;
我能做些什么来修复它?

最佳答案

同一排?那很简单:

CREATE OR REPLACE TRIGGER update_tgr
BEFORE INSERT ON challenge FOR EACH ROW
BEGIN
:NEW.trgr := :NEW.seq + 100;
END;
你看你应该使用 之前 INSERT 触发器,因为这样您仍然可以操作新数据。

关于oracle - 如何修复 ORA-04091 : table is mutating, 触发器/函数可能看不到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63508789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com