CHANGE_TRACKING_IS_COLUMN_IN_MASK (Transact-SQL)
Interpretiert den SYS_CHANGE_COLUMNS-Wert, der von der CHANGETABLE(CHANGES …)-Funktion zurückgegeben wird. Dies ermöglicht es einer Anwendung zu ermitteln, ob die angegebene Spalte in den Werten enthalten ist, die für SYS_CHANGE_COLUMNS zurückgegeben werden.
Syntax
CHANGE_TRACKING_IS_COLUMN_IN_MASK ( column_id , change_columns )
Argumente
column_id
Die ID der zu überprüfenden Spalte. Die ID der Spalte erhalten Sie, wenn Sie COLUMNPROPERTY-Funktion ausführen.change_columns
Die Binärdaten aus der Spalte SYS_CHANGE_COLUMNS der CHANGETABLE-Daten.
Rückgabetyp
bit
Rückgabewerte
CHANGE_TRACKING_IS_COLUMN_IN_MASK gibt die folgenden Werte zurück.
Rückgabewert |
Beschreibung |
---|---|
0 |
Die angegebene Spalte ist nicht in der change_columns-Liste enthalten. |
1 |
Die angegebene Spalte ist in der change_columns-Liste enthalten. |
Hinweise
Durch CHANGE_TRACKING_IS_COLUMN_IN_MASK wird keine Prüfung der Gültigkeit des column_id-Werts durchgeführt, und es wird auch nicht geprüft, ob der change_columns-Parameter aus der Tabelle abgerufen wurde, aus der der column_id-Wert abgerufen wurde.
Beispiele
Im folgenden Beispiel wird bestimmt, ob die Salary-Spalte in der Employees-Tabelle aktualisiert wurde. Die COLUMNPROPERTY-Funktion gibt die Spalten-ID der Salary -Spalte zurück. Für die lokale Variable @change\_columns müssen die Ergebnisse einer Abfrage unter Verwendung von CHANGETABLE als Datenquelle festgelegt werden.
SET @SalaryChanged = CHANGE_TRACKING_IS_COLUMN_IN_MASK
(COLUMNPROPERTY(OBJECT_ID('Employees'), 'Salary', 'ColumnId')
,@change_columns);
Siehe auch