有一个表存储审计历史,即每当对主表执行插入、更新、删除操作时,相应的详细信息都存储在审计表中。
审计表示例:
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 应该为空,如果它是“更新”,则应该显示正在更新的列。