SQL Server:有没有办法批量处理转换

时间:2017-03-27 01:49:16

标签: sql-server change-tracking

假设我在tblUser启用了更改跟踪功能。然后我可以得到这样的所有变化:

select *
from changetable(changes tblUser, @last_sync_version) ct
left join tblUser u on ct.UserID = u.UserID

这可能会返回太多行,所以我想在一个循环中进行更改,一次批量生成1000行:

select top 1000 *
from changetable(changes tblUser, @last_sync_version) ct
left join tblUser u on ct.UserID = u.UserID
order by ct.SYS_CHANGE_VERSION

上述问题是SYS_CHANGE_VERSION不是唯一的。如果在一个sql事务中修改了多个用户,则他们的更改将具有相同的SYS_CHANGE_VERSION。如果1001更改具有相同的SYS_CHANGE_VERSION,则从当前循环迭代传递max(SYS_CHANGE_VERSION),如下一次迭代的@last_sync_version,将导致下一次迭代跳过第1001次更改。

有没有办法实现批量阅读更改数据?

0 个答案:

没有答案