是否有任何方法在Oracle中創建SQL語句以僅顯示已更改的字段?我們有一個數據表和一個相關的審計表,具有相同的字段名稱。我可以加入他們在適當的鍵字段,然後我可以單獨檢查各個領域的變化:Oracle查詢只顯示更改的記錄?
SELECT
t.FIELD1,
a.FIELD1 AUDIT_FIELD1,
t.FIELD2,
a.FIELD2 AUDIT_FIELD2,
t.FIELD3,
a.AUDIT_FIELD3,
etc
...
FROM
DATA_TABLE t
INNER JOIN
AUDIT_TABLE a
ON
a.EMP_ID = t.EMP_ID
...
WHERE
a.FIELD1 <> t.FIELD1
OR
a.FIELD2 <> t.FIELD2
OR
a.FIELD3 <> t.FIELD3
etc etc..
我風與行的X號,我每行具有至少一個改變的領域,但我必須接着看到所有的結果,找出哪些領域發生了變化。
看來我應該能夠做一些基本上說「對於表中的每個字段,如果它不匹配其他表顯示字段名稱和值」的查詢。
這一切都需要在SQL中完成,因爲企業要求我們使用獨立的查詢/報告工具,無法在Oracle後端數據庫上創建任何對象(表,視圖,觸發器,SP等)。
你正在尋找的財產以後[像這樣]有用(http://stackoverflow.com/a/7743813/119477) –