変更をログテーブルに保存する次のトリガーがあります。しかし、それはトリガーをトリガーした変更をキャッチしませんか? それとも別の解決策がありますか?
alter trigger trigger_xxx on table1 after delete, update, insert
as
begin
declare @lastVersion bigint = coalesce((select max(SYS_CHANGE_VERSION) from [log]), 0)
insert into [log]
([SourceColumnDescriptionPattern], SYS_CHANGE_VERSION, SYS_CHANGE_OPERATION, SYS_CHANGE_COLUMNS, SYS_CHANGE_CONTEXT)
SELECT [SourceColumnDescriptionPattern], SYS_CHANGE_VERSION, SYS_CHANGE_OPERATION, SYS_CHANGE_COLUMNS, SYS_CHANGE_CONTEXT
FROM changetable(changes [table1], @lastVersion) as ct
end