MS SQL 2005-回滚更新查询

MS SQL 2005-回滚更新查询,sql,sql-server-2005,rollback,Sql,Sql Server 2005,Rollback,我使用的是MS SQL Server 2005企业版。我执行了一个更新查询来获取行和列中的记录 update HS_SM_USERACCOUNT set ACCOUNTPOLICYTYPE=1 where EMP_NUMBER='000540' and USERID='03510410@' 前面名为ACCOUNTPOLICYTYPE的列在WHERE子句中保存该特定条件的值1。现在,我想在不再次执行更新查询的情况下获得上一个状态 ROLLBACK能帮我吗?请帮我做这个 不,它变了。如果您

我使用的是MS SQL Server 2005企业版。我执行了一个更新查询来获取行和列中的记录

update HS_SM_USERACCOUNT 
set ACCOUNTPOLICYTYPE=1  
where EMP_NUMBER='000540' and USERID='03510410@' 
前面名为
ACCOUNTPOLICYTYPE
的列在WHERE子句中保存该特定条件的值
1
。现在,我想在不再次执行更新查询的情况下获得上一个状态


ROLLBACK
能帮我吗?请帮我做这个

不,它变了。如果您想知道它是什么,请从备份还原,除非您在事务范围内执行上述查询,即在
BEGIN-TRAN
/
COMMIT/ROLLBACK-TRAN
块内执行,否则
ROLLBACK
命令将毫无用处


在这种情况下,除了恢复该表数据的旧备份外,您无法恢复使用上述语句更新的状态

,因此,是否要将accounttype设置为0或其他非1的值?在运行更新之前,如果不执行UPDATE语句或从恢复备份,则无法执行此操作。如果要执行回滚,必须先执行BEGIN TRANSACTION语句。