2011-09-15 9 views
-1

一定の期間内にビュー内の変更(データ)を取得する方法を教えてください。新しい行、更新された行、削除された行などの変更。私は巨大なビューの変更を検出し、次にそれらを毎日別のテーブルと同期させなければならないストアドプロシージャを作成しています。私は変更された行が毎日1%未満であることを知っているときに、すべての行をスキャンしたくありません。ビュー内の変更を毎日追跡する

ありがとうございました。

+0

あなたはどれくらい話していますか? – JNK

+0

あなたはテーブル/ビューのサイズを意味しますか? – Tintin

+0

はい、行数: – JNK

答えて

0

基礎となるデータが変更されると、ビューが変更されます。ビューにあるテーブルの列の変更を検出する必要があります。ビューが使用しているSELECTクエリを再構築するストアドプロシージャを起動し、必要に応じて他のテーブルを更新するトリガが必要になることがあります。

+0

私はトリガーなしでそれをしたいと思っていました。タイムラインに基づいて比較されるビューのイメージを与える隠されたSQLサーバーオブジェクトがあるかもしれないと思った。この質問は、ダウンボートに値するほど愚かでしたか? – Tintin

+0

downvoteについてはわかりませんが、私の知る限り、SQL Serverはどのような方法でもビューの変更を追跡または監査しません。トリガは、それがその種の監査になるときです。 – Wil

+0

@Wilは正しいですが、内部トラッキングはありません。そのような方法で追跡するオーバーヘッドはばかげているでしょう。 – JNK

関連する問題