sys.fn_cdc_is_bit_set (Transact-sql)
Yakalanan sütun sıralı konumunu içinde sağlanan bir bit maskesi ayarlanmış olup olmadığını kontrol ederek güncelleştirilip güncelleştirilmediğini gösterir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sys.fn_cdc_is_bit_set ( position , update_mask )
Bağımsız değişkenler
position
Maskedeki denetlemek için sıralı konumudur. positionis int.update_mask
Maske tanıtan sütunları güncelleştirilen olduğunu. update_maskis varbinary(128).
Dönüş Türü
bit
Açıklamalar
Bu işlev genellikle sütun değişip değişmediğini belirtmek için Değiştir veri sorgusu bir parçası olarak kullanılır. Bu senaryoda, işlev sys.fn_cdc_get_column_ordinal önce sorgu gerekli sütun sıralı almak için kullanılır. sys.fn_cdc_is_bit_set sonra her satır döndürülür, döndürülen sonuç kümesi sütun özgü bilgileri sağlayan değişiklik veri uygulanır.
Bu işlev işlevini yerine kullanmanızı öneririz sys.fn_cdc_has_column_changed sütunları döndürülen sonuç kümesindeki tüm satırları değişmiş olup olmadığını belirlerken.
İzinler
Üyelik Genel rolü.
Örnekler
Aşağıdaki örnek sys.fn_cdc_is_bit_setbaşına sorgu işlevi tarafından oluşturulan sonuç kümesi için cdc.fn_cdc_get_all_changes_HR_Departmentsütun 'IsGroupNmUpdated' precomputed sütun sıralı ve değerini kullanarak __$update_maskbağımsız çağrısı.
USE AdventureWorks2012;
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
USE AdventureWorks2012;
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
Ayrıca bkz.
Başvuru
İşlevler (Transact-sql) verisini Değiştir yakalama
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)
değiştirir<capture_instance> (Transact-sql)