sys.fn_cdc_get_column_ordinal(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 권한이 필요합니다. 캡처 인스턴스에 대해 변경 데이터 캡처 구성 요소의 데이터베이스 역할이 지정되어 있으면 해당 역할의 멤버 자격도 필요합니다.
예
다음은 HumanResources_Employee 캡처 인스턴스에 대한 업데이트 마스크에서 VacationHours 열의 서수 위치를 가져오는 예입니다. 이 값은 반환된 업데이트 마스크에서 정보를 추출하기 위해 sys.fn_cdc_is_bit_set에 대한 호출에 사용됩니다.
USE AdventureWorks2008R2;
GO
DECLARE @VacationHoursOrdinal int;
SET @VacationHoursOrdinal =
sys.fn_cdc_get_column_ordinal ( 'HumanResources_Employee','VacationHours');
SELECT sys.fn_cdc_is_bit_set(@VacationHoursOrdinal, __$update_mask)
as 'VacationHoursChanged', *
FROM cdc.fn_get_net_changes_HumanResources_Employee
(@from_lsn, @to_lsn, 'all with mask');
GO