Udostępnij za pośrednictwem


sys.fn_cdc_is_bit_set (języka Transact-SQL)

Wskazuje, czy przechwyconych kolumna została zaktualizowana przez sprawdzenie, czy jego pozycja porządkowa jest zestaw w podanej maski bitów.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sys.fn_cdc_is_bit_set ( position , update_mask )

Argumenty

  • position
    Jest numerem porządkowym maski do sprawdzenia.positionis int.

  • update_mask
    Jest identyfikowanie maski aktualizacji kolumny.update_maskis varbinary(128).

Zwracany typ

bit

Uwagi

Ta funkcja najczęściej jako część zmiany kwerendy danych wskazuje, czy kolumna została zmieniona.W tym scenariuszu funkcja sys.fn_cdc_get_column_ordinal używane przed kwerendy do uzyskania wymaganej kolumna porządkowych.sys.fn_cdc_is_bit_set jest następnie stosowana do każdego wiersza Zmień dane zwrócone, zapewniając kolumna— informacje jako część zwracane zestaw wyników.

Zaleca się użycie tej funkcja zamiast funkcja sys.fn_cdc_has_column_changed podczas ustalania, czy dla wszystkich wierszy zwracanych zestaw wynikówzmieniły kolumn.

Uprawnienia

Wymaga członkostwa w public rolę.

Przykłady

W poniższym przykładzie użyto sys.fn_cdc_is_bit_set być dołączana do zestaw wyników wygenerowane przez kwerendę funkcja cdc.fn_cdc_get_all_changes_HR_Department kolumna 'IsGroupNmUpdated' za pomocą precomputed kolumna numeru i wartości __$update_mask jako argumenty do wywołania.

USE AdventureWorks2008R2;
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