0
我有一個更好地解釋這種情況的例子。我有一個表A
編輯你剛插入的db行
CREATE TABLE A(ID NUMBER, VAL NVARCHAR2(255))
,並創建一個觸發器,它確實在它剛插入
CREATE OR REPLACE TRIGGER XXX
AFTER INSERT
ON A
FOR EACH ROW
DECLARE
BEGIN
UPDATE A SET VAL = 'LOL' WHERE ID = :NEW.ID;
END;
行的更新當我執行插入
INSERT INTO A VALUES(1, 'XX')
我得到
ORA-04091: table name is mutating, trigger/function may not see it
是否有解決方法?
[插入後觸發更新同桌]的可能的複製(http://stackoverflow.com/questions/26072577/update-same-table-after-insert-trigger) –
該鏈接(一式兩份)問題表明一種方法;但是有一個原因(有點)插入然後更新。在你的虛擬代碼中,爲什麼你想要這樣做,而不是僅僅在插入或插入前觸發器中提供'LOL'。如果你解釋你的實際需求,可能會有更合適或更完整的答案。 –