CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

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値を検証するためのチェックや、column_idが取得されたテーブルからchange_columns パラメーターが取得されたことを確認しません。

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

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

参照

変更追跡関数 (Transact-SQL)
CHANGETABLE (Transact-SQL)
データ変更の追跡 (SQL Server)