sys.fn_cdc_get_column_ordinal (Transact-SQL)

Retourne l'ordinal de la colonne spécifiée tel qu'il apparaît dans la table de modifications associée à l'instance de capture spécifiée.

Icône Lien de rubriqueConventions de 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 de type sysname.

  • 'column_name'
    Colonne sur laquelle des rapports doivent être effectués. column_name est de type 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. Elle est utilisée principalement avec la fonction sys.fn_cdc_is_bit_set pour extraire des informations du masque de mise à jour lors de la recherche de données modifiées.

Autorisations

Requiert 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 AdventureWorks;
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