我已经运行了SQL server命令(更新命令)。 该命令已成功执行且表已更新
有没有办法收回那个命令?
注意:没有备份
答案 0 :(得分:7)
如果您最初提出问题我如何UPDATE
ROLLBACK
可能会BEGIN TRANSACTION
UPDATE blah
SET value = newvalue
WHERE condition = someothervalue
--COMMIT TRANSACTION
我会告诉您,您应该像这样进行临时更新。
COMMIT TRANSACTION
然后,如果结果符合预期,则运行ROLLBACK TRANSACTION
。如果他们不是,你可以做{{1}}。但是,由于您已经完成了更新并且没有备份或恢复计划,因此非常不幸。
答案 1 :(得分:2)
在您执行了更新命令之后,唯一的方法就是恢复备份。
我在编写任何修改脚本时所做的是将命令包装在事务中,然后运行回滚或提交,具体取决于查询是否执行为怀疑。
示例:
--start the transaction only execute the first three lines, this leaves the transaction open
BEGIN TRANSACTION
UPDATE TABLEA
SET COL1 = "newValue"
--examine data and based on the results run one of these two lines
ROLLBACK TRANSACTION
COMMIT TRANSACTION