CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

CHANGETABLE(CHANGES …) 関数によって返される SYS_CHANGE_COLUMNS 値を解釈します。これにより、指定した列が SYS_CHANGE_COLUMNS に返された値に含まれているかどうかを、アプリケーションで判断することができます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

CHANGE_TRACKING_IS_COLUMN_IN_MASK ( column_id , change_columns )

引数

  • column_id
    チェックする列の ID です。列の ID は、COLUMNPROPERTY 関数を使用して取得できます。

  • change_columns
    CHANGETABLE データの SYS_CHANGE_COLUMNS 列のバイナリ データです。

戻り値の型

bit

戻り値

CHANGE_TRACKING_IS_COLUMN_IN_MASK は次の値を返します。

戻り値

説明

0

指定した列は、change_columns リストに含まれていません。

1

指定した列は、change_columns リストに含まれています。

説明

CHANGE_TRACKING_IS_COLUMN_IN_MASK では、column_id の値を検証するためのチェックや、change_columns パラメータが column_id の取得元のテーブルから取得されたことを確認するためのチェックは実行されません。

次の例では、Employees テーブルの Salary 列が更新済みかどうかを確認します。COLUMNPROPERTY 関数は、Salary 列の列 ID を返します。@change_columns ローカル変数には、CHANGETABLE をデータ ソースとするクエリの結果を設定する必要があります。

SET @SalaryChanged = CHANGE_TRACKING_IS_COLUMN_IN_MASK
    (COLUMNPROPERTY(OBJECT_ID('Employees'), 'Salary', 'ColumnId')
    ,@change_columns);