0

監査履歴を格納するテーブルがあります。つまり、マスター テーブルで挿入、更新、削除操作が実行されるたびに、対応する詳細が監査テーブルに格納されます。

監査テーブルの例:

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 である必要があり、「更新」されている場合は、更新されている列が表示されます。

4

1 に答える 1