適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
CHANGETABLE(CHANGES ...) 関数によって返されるSYS_CHANGE_COLUMNS値を解釈します。 これにより、指定した列が SYS_CHANGE_COLUMNS に返された値に含まれているかどうかを、アプリケーションで判断することができます。
Syntax
CHANGE_TRACKING_IS_COLUMN_IN_MASK ( column_id , change_columns )
Arguments
column_id
チェックする列の ID です。 列 ID は、 COLUMNPROPERTY 関数を使用して取得できます。
change_columns
CHANGETABLE データのSYS_CHANGE_COLUMNS列のバイナリ データです。
返り値の種類
bit
戻り値
CHANGE_TRACKING_IS_COLUMN_IN_MASK は次の値を返します。
| 戻り値 | Description |
|---|---|
| 0 | 指定した列が change_columns 一覧に含まれていません。 |
| 1 | 指定した列が change_columns 一覧にあります。 |
Remarks
CHANGE_TRACKING_IS_COLUMN_IN_MASKは、column_id値を検証するためのチェックや、column_idが取得されたテーブルからchange_columns パラメーターが取得されたことを確認しません。
Examples
次の例では、Salary テーブルのEmployees列が更新されたかどうかを判断します。
COLUMNPROPERTY関数は、Salary列の列 ID を返します。
@change_columnsローカル変数は、CHANGETABLE をデータ ソースとして使用してクエリの結果に設定する必要があります。
SET @SalaryChanged = CHANGE_TRACKING_IS_COLUMN_IN_MASK
(COLUMNPROPERTY(OBJECT_ID('Employees'), 'Salary', 'ColumnId')
,@change_columns);
こちらもご覧ください
変更追跡関数 (Transact-SQL)
チェンジテーブル(Transact-SQL)
データ変更の追跡 (SQL Server)