2017-10-13 25 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-series、Unix/Windows)をサポートしています。該当するテーブルに行変更タイムスタンプまたは自動更新されたタイムスタンプ列がある場合は、その列をクエリで使用できます。 Db2のプラットフォームとバージョン、および使用可能なツールセットや使用可能なツールセットによっては、監査機能やトランザクションログ分析を使用してこの情報を見つけることもできます。 – mao

+0

@maoレコードのどの列も更新/挿入されているテーブルを見つける必要があります。それは特定のテーブルではなく、DB全体にわたるものです – 2FaceMan

+0

次に、質問を編集して、使用可能なプラットフォーム/バージョンとツールセットを表示します。 – mao

答えて

0

一般的な解決策は、次に、タイムスタンプパラメータと組合とフィルタをすべてMAX()値を選択current timestampをデフォルト、各テーブルにタイムスタンプトラッキング列を追加することであろう。

もう1つの解決策は、テーブル名と現在のタイムスタンプでトラッキングテーブルを更新するtriggerを作成することです。

関連する問題