sys.fn_cdc_is_bit_set (Transact-SQL)
Se aplica a: SQL Server
Indica si se ha actualizado una columna capturada comprobando si su posición ordinal está dentro de una máscara de bits proporcionada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.fn_cdc_is_bit_set ( position , update_mask )
Argumentos
position
Es la posición ordinal en la máscara que hay que comprobar. position es int.
update_mask
Es la máscara que identifica las columnas actualizadas. update_mask es varbinary(128).
Tipo devuelto
bit
Comentarios
Esta función se utiliza normalmente como parte de una consulta de datos modificados para indicar si una columna ha cambiado. En este escenario, la función sys.fn_cdc_get_column_ordinal se usa antes de la consulta para obtener el ordinal de columna necesario. sys.fn_cdc_is_bit_set se aplica a cada fila de datos modificados que se devuelve, proporcionando la información específica de columna como parte del conjunto de resultados devuelto.
Se recomienda usar esta función en lugar de la función sys.fn_cdc_has_column_changed al determinar si las columnas han cambiado para todas las filas de un conjunto de resultados devuelto.
Permisos
Debe pertenecer al rol public .
Ejemplos
El ejemplo siguiente usa sys.fn_cdc_is_bit_set
para anteponer al conjunto de resultados generado por la función de consultacdc.fn_cdc_get_all_changes_HR_Department
la columna 'IsGroupNmUpdated
' que usa el ordinal de la columna precalculado y el valor de __$update_mask
como argumentos de la llamada.
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
Consulte también
Funciones de captura de datos modificados (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)
Acerca de la captura de datos modificados (SQL Server)