sys.fn_cdc_get_column_ordinal (Transact-SQL)
Aplica-se a: SQL Server
Retorna o ordinal da coluna especificada como ela aparece na tabela de alterações associada à instância de captura especificada.
Convenções de sintaxe de Transact-SQL
Sintaxe
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Argumentos
' capture_instance '
É o nome da instância de captura na qual a coluna especificada é identificada como uma coluna capturada. capture_instance é sysname.
' column_name '
É a coluna para relatar. column_name é sysname.
Tipo de retorno
int
Comentários
Esta função é usada para identificar a posição ordinal de uma coluna capturada dentro da máscara de atualização do Change Data Capture. Ele é usado principalmente em conjunto com a função sys.fn_cdc_is_bit_set extrair informações da máscara de atualização ao consultar dados de alteração.
Permissões
Requer a permissão SELECT em todas as colunas capturadas da tabela de origem. Se uma função de banco de dados do componente do Change Data Capture estiver especificada para uma instância de captura, a associação naquela função também será requerida.
Exemplos
O exemplo a seguir obtém a posição ordinal da coluna VacationHours
, na máscara de atualização para a instância de captura HumanResources_Employee
. Esse valor é usado, então, na chamada para sys.fn_cdc_is_bit_set
, para extrair informações da máscara de atualização retornada.
USE AdventureWorks2022;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10), @VacationHoursOrdinal int;
SET @from_lsn = sys.fn_cdc_get_min_lsn('HumanResources_Employee');
SET @to_lsn = sys.fn_cdc_get_max_lsn();
SET @VacationHoursOrdinal = sys.fn_cdc_get_column_ordinal
( 'HumanResources_Employee','VacationHours');
SELECT *, sys.fn_cdc_is_bit_set(@VacationHoursOrdinal,
__$update_mask) as 'VacationHours'
FROM cdc.fn_cdc_get_net_changes_HumanResources_Employee
( @from_lsn, @to_lsn, 'all with mask');
GO
Confira também
Funções de captura de dados de alterações (Transact-SQL)
Sobre a captura de dados de alterações (SQL Server)
sys.sp_cdc_help_change_data_capture (Transact-SQL)
sys.sp_cdc_get_captured_columns (Transact-SQL)
sys.fn_cdc_is_bit_set (Transact-SQL)