sys.fn_cdc_get_column_ordinal (Transact-SQL)

Применимо к:SQL Server

Возвращает порядковый номер столбца указанного столбца, как он отображается в таблице изменений, связанной с указанным экземпляром записи.

Соглашения о синтаксисе Transact-SQL

Синтаксис

  
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')  

Аргументы

"capture_instance"
Имя экземпляра отслеживания, в котором заданный столбец определен как отслеживаемый. capture_instance — sysname.

"column_name"
Столбец для отчета. column_name — sysname.

Тип возвращаемых данных

int

Замечания

Эта функция используется для определения порядкового номера отслеживаемого столбца в маске обновления системы отслеживания измененных данных. Он главным образом используется в сочетании с функцией sys.fn_cdc_is_bit_set для извлечения информации из маски обновления при запросе данных об изменениях.

Разрешения

Необходимо разрешение SELECT на все отслеживаемые столбцы в исходной таблице. Если в экземпляре отслеживания задана роль для компонента системы отслеживания измененных данных, также требуется членство в этой роли.

Примеры

Следующий пример получает порядковый номер столбца VacationHours в маске обновления для экземпляра отслеживания HumanResources_Employee. Затем это значение используется для вызова функции sys.fn_cdc_is_bit_set, которая получает сведения из возвращаемой маски обновления.

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  

См. также

Функции отслеживания измененных данных (Transact-SQL)
Отслеживание измененных данных (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)