dポイントプレゼントキャンペーン実施中!

Oracle初心者です。

レコードの更新履歴を残す方法を考えているところです。

■やりたいこと
1)登録、更新、削除の全てについて
2)実行前のレコードを抽出したい
3)特定レコードの更新履歴を一覧として表示したい

■対象レコード
ID(主キー、ユニーク)
フィールドA(テキスト)
フィールドB(テキスト)
フィールドC(テキスト)

1つ方法として・・・
履歴を残したいテーブルと同じ構造の履歴テーブルを作成して、登録、更新、削除が行われる際、必ずこの履歴テーブルに登録することを考えました。

が、あまりスマートでない気もしましたので質問します。
他によい案はありますでしょうか?

A 回答 (1件)

> Oracle初心者です。


と自称されているのでありきたりの回答でいきます。

>履歴を残したいテーブルと同じ構造の履歴テーブルを作成
>して、登録、更新、削除が行われる際、
>必ずこの履歴テーブルに登録することを考えました。

アプリケーションで使用するなら、そのままトリガで実行するようにすればよいと思います。
変更前後の値をログとして保存することも可能ですから。

データの更新を監視することが目的であればファイングレイン監査という方法もあります。
アプリケーションからデータを利用するには、あまり適さないログ形式です。

ファイングレイン監査について
http://biz.rivus.jp/technote507014.html

参考URL:http://biz.rivus.jp/technote507014.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す