sql取消查询而不还原所有东西

时间:2017-08-04 09:40:40

标签: sql-server

我一直在运行很多'插入'语句与SQL服务器一起使用,有时循环。

While
begin
  insert into

end

通常需要很长时间才能完成。有时我必须在完成之前取消查询。当我这样做时,它会恢复它插入的所有内容。有没有办法我只取消'插入'它现在正在运行并保留在前一个循环中插入的内容吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以明确定义开始和结束交易的位置,然后它应该只回滚'当前'交易,如果它取消了一半:

While
begin
BEGIN TRANSACTION;   
  insert into
COMMIT TRANSACTION;   

end

在应用数据之前,请确保您了解此对数据完整性的影响。例如。检查每次启动上次批次的批次。