sys.fn_cdc_get_column_ordinal (Transact-SQL)

Aplica-se a:SQL Server

Retorna o ordinal de coluna da coluna especificada como aparece na tabela de alteração 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 na qual 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  

Consulte Também

Funções do Change Data Capture (Transact-SQL)
Sobre o change data capture (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)