毯子更新 - 它是否自动回滚

时间:2014-02-18 17:09:09

标签: sql sql-server

假设我有一个这样的SQL语句(在SQL Studio管理器中执行):

UPDATE Person SET Flag=1

假设有1000万人,并且在完成之前停止查询运行。然后它会回滚或者只是停在您点击停止的位置,例如更新了500万行,未更新500万行。

我知道你可以在事务中包装更新。我想我问的是sql studio manager是否有自己的事务。

1 个答案:

答案 0 :(得分:1)

在sql server Implicit TransactionExplicit TransactionAuto commit transaction中有三种类型的事务。

自动提交模式是SQL Server的默认模式。每个语句在完成时都会提交或回滚。

1)如果语句成功完成,则提交。

2)如果出现问题并引发任何错误,则会回滚。

假设您在执行上述更新语句时具有默认事务模式。因为出了问题(你停止了执行)。事务将被回滚,数据将保持一致状态。