CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database
CHANGETABLE(CHANGES ...) 関数によって返されるSYS_CHANGE_COLUMNS値を解釈します。 これにより、指定した列が SYS_CHANGE_COLUMNS に返された値に含まれているかどうかを、アプリケーションで判断することができます。
構文
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)