sys.fn_cdc_is_bit_set (Transact-SQL)
Aplica-se: SQL Server
Indica se uma coluna capturada foi atualizada verificando se sua posição ordinal está definida em um bitmask fornecido.
Convenções de sintaxe de Transact-SQL
Sintaxe
sys.fn_cdc_is_bit_set ( position , update_mask )
Argumentos
position
É a posição ordinal na máscara a ser verificada. posição é int.
update_mask
É a máscara que identifica colunas atualizadas. update_mask é varbinário(128).
Tipo de retorno
bit
Comentários
Esta função é geralmente usada como parte de uma consulta de dados de alteração, a fim de indicar se a coluna foi alterada. Nesse cenário, a função sys.fn_cdc_get_column_ordinal é usada antes da consulta para obter o ordinal de coluna necessário. sys.fn_cdc_is_bit_set é então aplicado a cada linha de dados de alteração retornados, fornecendo as informações específicas da coluna como parte do conjunto de resultados retornado.
Recomendamos usar essa função em vez da função sys.fn_cdc_has_column_changed ao determinar se as colunas foram alteradas para todas as linhas de um conjunto de resultados retornado.
Permissões
Requer associação à função pública .
Exemplos
O exemplo a seguir usa sys.fn_cdc_is_bit_set
para preceder ao conjunto de resultados gerado pela função de consulta cdc.fn_cdc_get_all_changes_HR_Department
a coluna 'IsGroupNmUpdated
' usando o ordinal da coluna pré-computada e o valor de __$update_mask
como argumentos para a chamada.
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
Confira também
Funções de captura de dados de alteraçõ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)
Sobre a captura de dados de alterações (SQL Server)