Saya tidak terbiasa dengan fitur ini, tetapi jika masalah Anda adalah cara membuat kueri beberapa tabel menggunakan CHANGETABLE()
maka saya berasumsi Anda bisa menggunakan prosedur tersimpan untuk mengulang semua nama tabel dan menjalankan kueri menggunakan SQL dinamis:
declare
@sql nvarchar(max),
@parameters nvarchar(max),
@TableName nvarchar(128),
@Version bigint
set @Version = CHANGE_TRACKING_CURRENT_VERSION()
declare Tables cursor local fast_forward
for
select name from sys.tables where... -- add conditions here if necessary
open Tables
fetch next from Tables into @TableName
while @@fetch_status = 0
begin
set @sql = N'select * from CHANGETABLE(CHANGES ' + quotename(@TableName) + ', @LastVersion)ct order by sys_change_version desc'
set @parameters = N'@LastVersion bigint'
exec sp_executesql @sql, @parameters, @LastVersion = @Version
fetch next from Tables into @TableName
end
close Tables
deallocate Tables
Anda dapat menggabungkan ini dengan INSERT
dalam SQL dinamis untuk menulis hasilnya ke dalam tabel yang kemudian Anda kueri untuk pelaporan dan analisis.