1. 程式人生 > >Oracle觸發器-變異表觸發器不能訪問本表

Oracle觸發器-變異表觸發器不能訪問本表

col 讀取 key commit 觸發器 圖片 gre mar nbsp


1
CREATE OR REPLACE TRIGGER trgregisterpregroup 2 AFTER UPDATE 3 ON tblregisterusers 4 FOR EACH ROW 5 …… 6 END trgregisterpregroup;

對表tblregisterusers創建了觸發器,這屬於行級的觸發器,可以有:OLD和;NEW數據

但是,不能再對變異表進行select操作,不然就會報異常

原因:

當對一個表創建行級觸發器時,有下列兩條限制:

1.不能讀取或修改任何觸發語句的變異表;
2.不能讀取或修改觸發表的一個約束表的PRIMARY KEY,UNIQUE 或FOREIGN KEY關鍵字的列, 但可以修改其他列

技術分享圖片

解決方法:

技術分享圖片

但是這樣又會遇到一個問題

技術分享圖片

解決辦法,在末尾加上commit;

技術分享圖片

Oracle觸發器-變異表觸發器不能訪問本表