- ベストアンサー
変更のあったテーブルを見つける
データーベースにあるテーブル全てをモニターして、色々な処理が終わった後に変更があったテーブルのみを調べるにはどうしたらいいでしょうか。何か特別なプログラムが必要ですか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「変更」とおっしゃっているのが、DDLレベル(CREATE,ALTER etc)の話なのか、DMLレベル(INSERT,UPDATE,DELETE)なのかによって方法は全然変わります。 DDLレベル(CREATE,ALTER etc)ならディクショナリを見ればわかります。 ORACLEなら DBA_OBJECTS、SQL Server なら sysobjects、MySQL なら INFORMATION_SCHEMA など。 DMLレベル(INSERT,UPDATE,DELETE)だと、「あらかじめ何かを仕込んでおかないと、後から確認する術はない」と考えておいた方がよいです。 仕込んでおくのは何かと言うと、 ・一般的にはINSERT,UPDATE,DELETE時に履歴テーブルへのINSERT (トリガーでINSERTする場合やアプリケーション側でINSERTする場合など様々) ・アプリケーション側で変更時にログに出力 ・他にはORACLEであれば AUDIT などの機能 などが上げられます。
お礼
AUDITでうまくできました。ありがとうございます。