sys.fn_cdc_get_column_ordinal (Transact-SQL)

Gibt die Spaltenordnungszahl der angegebenen Spalte so zurück, wie sie in der Änderungstabelle, die der angegebenen Aufzeichnungsinstanz zugeordnet ist, angezeigt wird.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')

Argumente

  • 'capture_instance'
    Der Name der Aufzeichnungsinstanz, in der die angegebene Spalte als aufgezeichnete Spalte identifiziert wurde. capture_instance ist vom Datentyp sysname.

  • 'column_name'
    Die Spalte, für die ein Bericht erstellt werden soll. column_name ist vom Datentyp sysname..

Rückgabetyp

int

Hinweise

Diese Funktion dient zum Identifizieren der Ordnungsposition einer in der Change Data Capture-Updatemaske aufgezeichneten Spalte. Sie wird in erster Linie zusammen mit der sys.fn_cdc_is_bit_set-Funktion verwendet, um bei der Abfrage von Änderungsdaten Informationen aus der Updatemaske zu extrahieren.

Berechtigungen

Erfordert die SELECT-Berechtigung für alle aufgezeichneten Spalten der Quelltabelle. Wenn für die Aufzeichnungsinstanz eine Datenbankrolle für die Change Data Capture-Komponente angegeben ist, erfordert dies ebenfalls die Mitgliedschaft in der entsprechenden Rolle.

Beispiele

Im folgenden Beispiel wird für die Aufzeichnungsinstanz HumanResources_Employee die Ordnungsposition der VacationHours-Spalte in der Updatemaske abgerufen. Der Wert wird daraufhin für den Aufruf von sys.fn_cdc_is_bit_set verwendet, um Informationen aus der zurückgegebenen Updatemaske zu extrahieren.

USE AdventureWorks2008R2;
GO
DECLARE @VacationHoursOrdinal int;
SET @VacationHoursOrdinal = 
sys.fn_cdc_get_column_ordinal ( 'HumanResources_Employee','VacationHours');
SELECT sys.fn_cdc_is_bit_set(@VacationHoursOrdinal, __$update_mask)
  as 'VacationHoursChanged', *
FROM cdc.fn_get_net_changes_HumanResources_Employee
    (@from_lsn, @to_lsn, 'all with mask');
GO