我一直在运行很多'插入'语句与SQL服务器一起使用,有时循环。
While
begin
insert into
end
通常需要很长时间才能完成。有时我必须在完成之前取消查询。当我这样做时,它会恢复它插入的所有内容。有没有办法我只取消'插入'它现在正在运行并保留在前一个循环中插入的内容吗?
非常感谢。
答案 0 :(得分:0)
您可以明确定义开始和结束交易的位置,然后它应该只回滚'当前'交易,如果它取消了一半:
While
begin
BEGIN TRANSACTION;
insert into
COMMIT TRANSACTION;
end
在应用数据之前,请确保您了解此对数据完整性的影响。例如。检查每次启动上次批次的批次。