2016-09-02 11 views
0

私は挿入アクションを監視するためのDBトリガを書きました。新しいレコードを挿入した後、CREATION_DATEsysdateに自動的に設定したいと思います。どのようにOracle DBのトリガエラーを解決するには?

私は新しいレコードを挿入するとき、私はエラーを取得:

エラー
ORA-04091:テーブルレポートが変異され、トリガー/関数は は
ORA-06512それが表示されない場合がありますで"CREATION_DATE_TEST"、2行目
はORA-04088:トリガーの実行中にエラー 'CREATION_DATE_TEST'

マイコード:

また、ROWID = :new.ROWIDPROJECT_ID = new.PROJECT_IDに置き換えようとしました。同じエラーが発生します。

答えて

3

あなただけそんなに:new.creation_date

create or replace trigger creation_date_test 
    before insert on report 
    for each row 
begin 
    :new.creation_date := sysdate; 
end; 
+0

感謝を設定し、トリガー挿入前にしたいようですね!あなたの答えは本当に役に立つ! –

+0

@deli - 'creation_date'は' date'ではなく 'varchar2'ですが、その名前は暗に意味するでしょうか?私が投稿したコードに使用される文字列があるとは思わないでしょう。 –

+0

データタイプを変更しました。ありがとう!! –

関連する問題