sql-server - 如何回滚SQL更新命令?

标签 sql-server sql-server-2008 rollback

在 SQL Server 2008 R2 中。是否可以对单个更新命令进行回滚?

我知道还有其他类似的问题,但我还没有看到 2008 R2 的具体问题,因此我可能会得到相同的答案,如果是这种情况,那么我们可以关闭此线程。

我做了一个简单的更新,没有任何事务命令:

UPDATE myTable SET col1=somevalue WHERE....

最佳答案

当然,您可以使用显式事务,例如

BEGIN TRAN
UPDATE ...
ROLLBACK

但我不认为你问的是这个?

如果您有选项SET IMPLICIT_TRANSACTIONS ON,那么在您明确执行此操作之前,该命令将不会被提交或回滚,但这不是默认行为。

默认情况下,事务是自动提交的,因此当命令成功完成时,更新的结果将被提交。如果更新遇到错误 - 包括更新期间连接被终止,它将自动回滚。

关于sql-server - 如何回滚SQL更新命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787179/

相关文章:

sql-server-2008 - tsql - 使用 SUBSTRING 提取字符串

SQL Server - 根据最近日期连接两个表

Java事务: how to stop program after rollback?

cakephp - 如何在 Cakephp 中回滚特定的迁移?

sql-server - tSQLt 测试中的模拟和安全权限如何工作?

c# - IsolationLevel.RepeatableRead 以防止重复

sql-server - 保持简单以及如何在查询中执行多个 CTE

sql-server - 为 select 中的每一行调用存储过程

SQL Server 2008查询计划警告 "No Join Predicate",查询需要很长时间

mysql - Mysql如何回滚?