変更追跡が有効なテーブルがあり、特定の主キーのテーブルの列を更新するとします。私が更新する値は、前にすでにあったものと同じ値です。値が変更されていない場合のCHANGE_TRACKING_IS_COLUMN_IN_MASK
docsを見ると、この関数は、列がコレクションchange_columnsにある場合はtrueを返します。
CHANGE_TRACKING_IS_COLUMN_IN_MASKは、次の値を返します。
0:指定された列がchange_columnsリストにありません。
1:指定された列は、change_columnsリストにあります。
リストlast_sync_version( ベースライン)以降に変更された列:furtherを探し
は、change_columnsリストは以下のように定義されるCHANGETABLE.SYS_CHANGE_COLUMNS性、ラッパーです。
どちらがあいまいですか。この文脈で「変更された」とは何を意味しますか?値が同じ場合は変更されていますか?
誰でも回答が分かりますか?
私は、トラッキング機構を軽量に保つために前後の値を比較せず、columns_updated関数に似たメカニズム(厳密にはそうでない場合)を使用すると考えています。 –
@BenThul - はい、私の疑惑でもありました。実際、私はそれを試してみました。本能に行く! –