Freigeben über


sys.fn_cdc_get_column_ordinal (Transact-SQL)

Gilt für: SQL Server

Gibt die Spalten-Ordnungszahl der angegebenen Spalte zurück, wie sie in der Änderungstabelle angezeigt wird, die der angegebenen Aufnahmeinstanz zugeordnet ist.

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 wird. capture_instance ist "sysname".

' column_name '
Ist die Spalte, an der Bericht erstellt werden soll. column_name ist "sysname".

Rückgabetyp

int

Hinweise

Diese Funktion dient zum Identifizieren der Ordnungsposition einer in der Change Data Capture-Updatemaske aufgezeichneten Spalte. Es wird hauptsächlich in Verbindung mit der Funktion sys.fn_cdc_is_bit_set verwendet, um Informationen aus dem Aktualisierungsformat zu extrahieren, wenn Sie Änderungsdaten abfragen.

Berechtigungen

Erfordert SELECT-Berechtigung für alle erfassten 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 VacationHours die Ordnungsposition der HumanResources_Employee-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 AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10),  @VacationHoursOrdinal int;  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');  
SET @to_lsn = sys.fn_cdc_get_max_lsn();  
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal   
    ( 'HumanResources_Employee','VacationHours');  
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,  
    __$update_mask) as 'VacationHours'  
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee  
    ( @from_lsn, @to_lsn, 'all with mask');  
GO  

Weitere Informationen

Ändern von Datenerfassungsfunktionen (Transact-SQL)
Über Change Data Capture (SQL Server)
sys.sp_cdc_help_change_data_capture (Transact-SQL)
sys.sp_cdc_get_captured_columns (Transact-SQL)
sys.fn_cdc_is_bit_set (Transact-SQL)