2

ビューにトリガーを挿入しています(DML操作用)。CDC テーブルを使用してビューのアクティビティを監視しようとしており、ベース テーブル (ビューの基になっているテーブル) を CDC テーブルとして定義しました。

ビューで更新コマンドを実行すると (トリガーの代わりに起動されます)、cdc テーブルの出力は、削除用に 1 行、更新用に 1 行 (操作コード 1 と操作コード 2) であり、1 行が見つかると予想されます。値 bedore (操作コード 3 ) と 1 つの行の値 after (操作コード 4) を使用します。

代わりにトリガーが舞台裏で起動されたときに更新が発生したときのこれが通常の動作であるかどうか知っていますか(古いレコードを削除して新しいレコードを挿入します)?

助けてくれてありがとう。

4

1 に答える 1

0

すべての更新は、分割更新 (古い値の削除、新しい値の挿入) として実装できます。クエリ プロセッサは通常、ハロウィン保護を守るためにこれを行います (そして、今日質問を投稿する必要がありました!)。あなたの特定の更新には幅広い計画がありました (分割更新)。このケースに対処できるように常に準備しておく必要があるため、問題が発生した理由は問題ではありません。更新の代わりにトリガーを使用すると、幅広い計画が強制されるかどうかは、直交する問題です。

于 2012-10-31T13:36:45.583 に答える