私は状況をよりよく説明する例を得ました。私はテーブルA
dbに挿入したばかりの行を編集します
CREATE TABLE A(ID NUMBER, VAL NVARCHAR2(255))
を持っていると私は
を得るINSERT INTO A VALUES(1, 'XX')
私は挿入を実行すると、それだけで
CREATE OR REPLACE TRIGGER XXX
AFTER INSERT
ON A
FOR EACH ROW
DECLARE
BEGIN
UPDATE A SET VAL = 'LOL' WHERE ID = :NEW.ID;
END;
を挿入しています行の更新を行うトリガーを作成します
ORA-04091: table name is mutating, trigger/function may not see it
回避策はありますか?
可能な複製(http://stackoverflow.com/questions/26072577/update-same-table-after-insert-trigger)リンク –
(重複)質問のショー一つのアプローチ。しかしそれには挿入してから更新する理由があります。あなたのダミーコードでは、単に挿入または挿入前のトリガーに 'LOL'を供給するのではなく、なぜこれをやりたいのか分かりません。あなたの実際のworl要件を説明するならば、より適切またはより完全な答えがあるかもしれません。 –