変更は、トリガーしているテーブルを変更する行レベルのトリガーがある場合はいつでも発生します。問題は、Oracleがどのように振る舞うかを知ることができないということです。行を挿入すると、トリガー自体が同じに行を挿入します。 テーブル、およびOracleが混乱します、原因、トリガーが原因でテーブルに挿入されますが、トリガーアクションの対象にもなりますか?
解決策は3段階のプロセスです。
1.)挿入されている行を追跡するパッケージをインスタンス化するトリガー前のステートメントレベル。
2.)前のステップでインスタンス化されたパッケージ変数にその行情報を保存するトリガーの前後の行レベル。
3.)テーブルに挿入するトリガー後のステートメントレベル、パッケージ変数に保存されているすべての行。
この例はここにあります:
http://asktom.oracle.com/pls/asktom/ASKTOM .download_file?p_file =6551198119097816936
お役に立てば幸いです。