停止查询后DELETE是否完成

时间:2015-02-26 10:30:05

标签: sql sql-server

说我执行这样的声明:

DELETE FROM Person WHERE PersonNo in (
select PersonNo from Person
left join SportsPerson on Person.PersonNo=SportsPerson.PersonNo
)

这将删除所有与运动无关的人。假设运行需要两个小时(因为数据库没有编入索引),我决定在SQL Studio Manager中停止进程(可能是因为表上的锁导致了应用程序的访问问题),然后是否完成了该过程?我跑了一个测试,似乎确实如此。

我知道我应该在一个事务中包装该语句。我对此很好奇。

1 个答案:

答案 0 :(得分:1)

除非你使用了hold lock

,否则它将停止查询并释放锁定

你可以ROLLBACK,如果你想要或可以COMMIT它..