说我执行这样的声明:
DELETE FROM Person WHERE PersonNo in (
select PersonNo from Person
left join SportsPerson on Person.PersonNo=SportsPerson.PersonNo
)
这将删除所有与运动无关的人。假设运行需要两个小时(因为数据库没有编入索引),我决定在SQL Studio Manager中停止进程(可能是因为表上的锁导致了应用程序的访问问题),然后是否完成了该过程?我跑了一个测试,似乎确实如此。
我知道我应该在一个事务中包装该语句。我对此很好奇。
答案 0 :(得分:1)
除非你使用了hold lock
,否则它将停止查询并释放锁定你可以ROLLBACK,如果你想要或可以COMMIT它..