如何在SQL Server 2005中回滚UPDATE查询?

Gud*_*ddu 18 sql sql-server-2005 rollback sql-update

如何在SQL Server 2005中回滚UPDATE查询?

我需要在SQL中执行此操作,而不是通过代码.

Ada*_*son 32

begin transaction

// execute SQL code here

rollback transaction
Run Code Online (Sandbox Code Playgroud)

如果您已经执行了查询并希望将其回滚,那么您唯一真正的选择就是恢复数据库备份.如果您使用完全备份,则应该能够将数据库还原到特定时间点.


ric*_*ott 28

您需要此工具,您可以找到该交易并将其撤消.

ApexSQL日志

  • 收费似乎很好,但它花费2000美元 (2认同)

tar*_*ppa 6

您可以使用隐式事务

SET IMPLICIT_TRANSACTIONS ON

update Staff set staff_Name='jas' where staff_id=7

ROLLBACK
Run Code Online (Sandbox Code Playgroud)

根据您的要求 - 您可以SET IMPLICIT_TRANSACTIONS ON通过将该存储过程设置为启动过程,从存储过程中设置此设置().

SET IMPLICIT TRANSACTION ON命令是特定于连接的.因此,除了运行启动存储过程的连接之外的任何连接都不会受益于您设置的设置.


Fre*_*els 5

您可以回滚在事务中执行的语句.而不是提交事务,回滚事务.

如果你已经更新了某些内容并希望回滚这些更新,并且你还没有在(尚未提交的)事务中完成此操作,那么我认为这是幸运的...

(手动修复或恢复备份)