Partager via


sys.fn_cdc_get_column_ordinal (Transact-SQL)

S'applique à : SQL Server

Retourne l’ordinal de colonne de la colonne spécifiée telle qu’elle apparaît dans la table de modifications associée à l’instance de capture spécifiée.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

' capture_instance '
Nom de l'instance de capture dans laquelle la colonne spécifiée est identifiée comme une colonne capturée. capture_instance est sysname.

' column_name '
Colonne à signaler. column_name est sysname.

Type de retour

int

Notes

Cette fonction est utilisée pour identifier la position ordinale d'une colonne capturée dans le masque de mise à jour de capture des données modifiées. Il est principalement utilisé conjointement avec la fonction sys.fn_cdc_is_bit_set pour extraire des informations du masque de mise à jour lors de l’interrogation de données modifiées.

autorisations

Nécessite l’autorisation SELECT sur toutes les colonnes capturées de la table source. Si un rôle de base de données pour le composant de capture des données modifiées est spécifié pour l'instance de capture, l'appartenance à ce rôle est également requise.

Exemples

L'exemple suivant obtient la position ordinale de la colonne VacationHours dans le masque de mise à jour pour l'instance de capture HumanResources_Employee. Cette valeur est ensuite utilisée dans l'appel à sys.fn_cdc_is_bit_set pour extraire des informations du masque de mise à jour retourné.

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  

Voir aussi

Fonctions de capture des changements de données (Transact-SQL)
À propos de la capture de données modifiées (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)