sys.fn_cdc_get_column_ordinal (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan ordinal kolom dari kolom yang ditentukan seperti yang muncul dalam tabel perubahan yang terkait dengan instans pengambilan yang ditentukan.
Sintaks
sys.fn_cdc_get_column_ordinal ( 'capture_instance','column_name')
Argumen
' capture_instance '
Adalah nama instans pengambilan tempat kolom yang ditentukan diidentifikasi sebagai kolom yang diambil. capture_instance adalah sysname.
' column_name '
Apakah kolom yang akan dilaporkan. column_name adalah sysname.
Jenis Hasil
int
Keterangan
Fungsi ini digunakan untuk mengidentifikasi posisi ordinal kolom yang diambil dalam masker pembaruan penangkapan data perubahan. Ini terutama digunakan bersama dengan fungsi sys.fn_cdc_is_bit_set untuk mengekstrak informasi dari masker pembaruan saat meminta perubahan data.
Izin
Memerlukan izin SELECT pada semua kolom tabel sumber yang diambil. Jika peran database untuk komponen pengambilan data perubahan ditentukan untuk instans pengambilan, keanggotaan dalam peran tersebut juga diperlukan.
Contoh
Contoh berikut mendapatkan posisi VacationHours
ordinal kolom di mask pembaruan untuk HumanResources_Employee
instans pengambilan. Nilai tersebut kemudian digunakan dalam panggilan untuk sys.fn_cdc_is_bit_set
mengekstrak informasi dari masker pembaruan yang dikembalikan.
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
Lihat Juga
Mengubah Fungsi Pengambilan Data (Transact-SQL)
Tentang Mengubah Penangkapan Data (SQL Server)
sys.sp_cdc_help_change_data_capture (T-SQL)
sys.sp_cdc_get_captured_columns (T-SQL)
sys.fn_cdc_is_bit_set (T-SQL)