1

だから私はテーブルを持っていて、トリガーが発火したときにfoo他の行を削​​除したいと思います:foot_foo

CREATE OR REPLACE TRIGGER "t_foo" AFTER INSERT OR DELETE OR UPDATE ON foo

/*delete some other records from foo that are not :NEW.* or :OLD.* \*

テーブル名を変更せずにこれを行うにはどうすればよいでしょうかORA-04091:。トリガー/関数はそれを認識しない場合があります。これは可能ですか?

4

3 に答える 3

8

トランザクションで挿入と削除をラップでき、この副作用の動作を明確に文書化できるストアド プロシージャでこれを実行してみませんか?

于 2010-12-06T14:05:35.723 に答える
6

このトピックに関する Tom Kyte の決定的な記事を参照してください。

于 2010-12-06T14:05:35.860 に答える
2

これは基本的に、テーブルに相互に依存する行があることを意味します。おそらく、列から主キーへの自己参照を持つ階層構造です。について考えましたON DELETE CASCADEか?

于 2010-12-06T14:05:53.997 に答える