Partager via


sys.fn_cdc_is_bit_set (Transact-SQL)

S'applique à : SQL Server

Indique si une colonne capturée a été mise à jour en vérifiant si sa position ordinale est définie dans un masque de bits fourni.

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sys.fn_cdc_is_bit_set ( position , update_mask )  

Arguments

position
Position ordinale dans le masque à vérifier. position int.

update_mask
Masque qui identifie les colonnes mises à jour. update_mask est varbinary(128).

Type renvoyé

bit

Notes

Cette fonction est utilisée en général dans le cadre d'une requête de modification de données pour indiquer si une colonne a changé. Dans ce scénario, la fonction sys.fn_cdc_get_column_ordinal est utilisée avant la requête pour obtenir l’ordinal de colonne requis. sys.fn_cdc_is_bit_set est ensuite appliquée à chaque ligne de données modifiées retournée, fournissant les informations spécifiques aux colonnes dans le cadre du jeu de résultats retourné.

Nous vous recommandons d’utiliser cette fonction au lieu de la fonction sys.fn_cdc_has_column_changed lors de la détermination de la modification des colonnes pour toutes les lignes d’un jeu de résultats retourné.

autorisations

Nécessite l'appartenance au rôle public .

Exemples

L'exemple suivant utilise sys.fn_cdc_is_bit_set pour ajouter au jeu de résultats généré par la fonction de requête cdc.fn_cdc_get_all_changes_HR_Department la colonne 'IsGroupNmUpdated' en utilisant l'ordinal de colonne précalculé et la valeur de __$update_mask comme arguments à l'appel.

USE AdventureWorks2022;  
GO  
DECLARE @from_lsn binary(10), @to_lsn binary(10), @GroupNm_ordinal int;  
SET @from_lsn = sys.fn_cdc_get_min_lsn('HR_Department');  
SET @to_lsn = sys.fn_cdc_get_max_lsn();  
SET @GroupNm_ordinal = sys.fn_cdc_get_column_ordinal('HR_Department','GroupName');  
  
SELECT sys.fn_cdc_is_bit_set(@GroupNm_ordinal,__$update_mask) as 'IsGroupNmUpdated', *  
FROM cdc.fn_cdc_get_all_changes_HR_Department( @from_lsn, @to_lsn, 'all')  
WHERE __$operation = 4;  
GO  

Voir aussi

Fonctions de capture de données modifiées (Transact-SQL)
sys.fn_cdc_get_column_ordinal (Transact-SQL)
sys.fn_cdc_has_column_changed (Transact-SQL)
<cdc.fn_cdc_get_all_changes_capture_instance> (Transact-SQL)
<cdc.fn_cdc_get_net_changes_capture_instance> (Transact-SQL)
À propos de la capture de données modifiées (SQL Server)