Slide 11
Slide 11 text
© ZOZO, Inc.
11
仕組み
declare @last_synchronization_version bigint;
SET @last_synchronization_version = #{@前回更新したバージョン};
SELECT
CONCAT('#{@tablename}','-',a.#{@primary_key.join(',').gsub(',', ',a.')},a.SYS_CHANGE_VERSION) as massage_unique_id,
'#{@databasename}' as database_name,
'#{@tablename}' as table_name,
'#{@changetrack_interval}' as changetrack_interval,
a.SYS_CHANGE_OPERATION as changetrack_type,
a.SYS_CHANGE_VERSION as changetrack_ver,
@last_synchronization_version as changetrack_last_sync_ver,
#{columns} -- 変更後のレコードを取得
FROM CHANGETABLE(CHANGES #{@tablename}, @last_synchronization_version) AS a
LEFT OUTER JOIN #{@tablename} AS b
ON a.#{@primary_key} = b.#{@primary_key}
Change Tracking 取得クエリ