2017-10-13 61 views
0

DB2中是否存在一個SQL查詢,它將獲取自指定時間戳記以來更新了任何記錄的表/記錄?DB2 - 獲取具有從特定時間戳記插入/更新/刪除的記錄的表格

以下查詢我只使用提取如果它是表更改而不是如果記錄更新。

SELECT TRIM(TABSCHEMA) || '.' || TRIM(TABNAME), 
     MAX(CREATE_TIME,ALTER_TIME) 
FROM SYSCAT.TABLES 
ORDER BY 2 DESC 
+0

Db2的哪個平臺? (Z/OS,i系列,Unix/Windows)。如果相關表具有自動維護的行更改時間戳或時間戳列,則可以在查詢中使用該列。根據Db2的平臺和版本以及可用和配置的工具集,還可以使用審計功能或事務日誌分析來查找此信息。 – mao

+0

@mao我需要找到更新/插入記錄中的任何列的表。它不是特定的表格,而是整個數據庫 – 2FaceMan

+0

然後編輯問題以顯示可用的平臺/版本和工具集,因爲這將決定答案。 – mao

回答

0

通用的解決辦法是時間戳跟蹤列添加到每個表中,默認爲current timestamp然後用聯合選擇所有MAX()值並使用時間戳參數進行過濾。

另一種解決方案是創建一個trigger,它使用表名和當前時間戳更新跟蹤表。

相關問題