監査履歴を格納するテーブルがあります。つまり、マスター テーブルで挿入、更新、削除操作が実行されるたびに、対応する詳細が監査テーブルに格納されます。
監査テーブルの例:
eid ename designation age username datemodified flag
10 arjun jnr sqldeveloper 25 SGA\username 26:14.0 Inserted
11 bala jnr sqldeveloper 21 SGA\username 26:20.9 Inserted
12 chandra jnr sqldeveloper 21 SGA\username 26:28.7 Inserted
10 arjun snr sqldeveloper 25 SGA\username 26:40.0 updatedvalue
11 bala jnr sqldeveloper 21 SGA\username 26:40.0 Deleted
10 arjun snr sqldeveloper 27 SGA\username 26:40.0 updatedvalue
更新が実行された場合:
update mastertable
set ename='arjun'
designation='snr sqldeveloper'
age=27
where eid=10
age という名前の列のみが変更されていることに注意してください。
出力を次の形式で表示する手順が必要です。
eid ename designation age username datemodified flag modified_column
10 arjun jnr sqldeveloper 25 SGA\username 26:14.0 Inserted Null
11 bala jnr sqldeveloper 21 SGA\username 26:40.0 Deleted Null
10 arjun snr sqldeveloper 27 SGA\username 26:40.0 updatedvalue age
フラグが「挿入または削除」されている場合、modified_column は null である必要があり、「更新」されている場合は、更新されている列が表示されます。