sys.fn_cdc_get_column_ordinal (Transact-SQL)
Se aplica a: SQL Server
Devuelve el ordinal de columna de la columna especificada tal como aparece en la tabla de cambios asociada a la instancia de captura especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Argumentos
' capture_instance '
Es el nombre de la instancia de captura en la que la columna especificada está identificada como columna capturada. capture_instance es sysname.
' column_name '
Es la columna en la que se va a informar. column_name es sysname.
Tipo de valor devuelto
int
Comentarios
Esta función se utiliza para identificar la posición ordinal de una columna capturada dentro de la máscara de actualización de la captura de datos modificados. Se usa principalmente junto con la función sys.fn_cdc_is_bit_set para extraer información de la máscara de actualización al consultar los datos modificados.
Permisos
Requiere el permiso SELECT en todas las columnas capturadas de la tabla de origen. Si se especifica un rol de base de datos en la captura de datos de cambio para la instancia de captura, también se requiere la pertenencia a ese rol.
Ejemplos
En el ejemplo siguiente se obtiene la posición ordinal de la columna VacationHours
en la máscara de actualización de la instancia de captura HumanResources_Employee
. Este valor se utiliza a continuación en la llamada a sys.fn_cdc_is_bit_set
para extraer información de la máscara de actualización devuelta.
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 también
Funciones de captura de datos modificados (Transact-SQL)
Acerca de la captura de datos modificados (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)