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.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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);