CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure 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 、列の列 ID を Salary 返します。 ローカル変数は @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)