私はテーブルに加えられたすべての変更を記録するPL/SQL監査トリガーを持っています。レコードを削除したユーザーを見つける
レコードを挿入/削除したuser_idが見つかりました。 (user_idはWebアプリケーションから来たもので、私は今のところアクセスできません)。そう
、
TRIGGER AUD_CONFIG_TRG
AFTER INSERT OR UPDATE OR DELETE ON CONFIG
IF INSERTING OR UPDATING THEN
v_user_value_txt := :NEW.AUDIT_UPDATED_USER_ID;
しかし、のために、私は単純にOLD.AUDIT_UPDATED_USER_ID使用することはできませんし、新しいレコードにアクセスできなくなりますので、私は、どちらかの新しいを使用することはできません、削除します。
私はBEFORE DELETEを使用することを考えましたが、古いユーザーIDのみを取得できますが、このレコードを削除したユーザーは取得できません。
レコードを削除した人の監査を維持できるように変更する場合はどうすればよいですか?コードでこれを渡すことができますか?
+1大きな質問 - 私たちは最近同じ問題を抱えていました。これが問題だったすべてのテーブルからDELETE特権を取り消して解決しました。 「ソフト削除」機能を追加する、すなわち「削除」フラグをテーブルに追加して、ユーザの「削除」アクションをフラグの簡単な更新にする。 –