如何撤消SQL Server的更新功能?

时间:2017-10-09 20:40:30

标签: sql sql-server sql-update

我在列上使用了update语句,现在我想要反转它。有没有办法撤消这个?

这是原始数据

67 days, 15 hours

我使用了这个查询:

Name    Score
John    15
John    15

给了我这个:

UPDATE T1
SET [score] = [score]+'na'
WHERE (name = ‘john’) 

我可以撤消此操作并移除Name Score John 15na John 15na 吗?我希望得分能够漂浮。

2 个答案:

答案 0 :(得分:4)

删除添加的na

撤消
UPDATE T1
SET [score] = LEFT([score],LEN([score])-2)
where  (name = 'john') 

答案 1 :(得分:1)

你可以做TT。已提及并手动更新其原始值或ROLLBACK。如果IMPLICIT_TRANSACTIONS设置为开启,则可以ROLLBACK执行ROLLBACK TRANSACTION;。但是,如果将EXPLICIT_TRANSACTIONS设置为开启,那么您需要指定BEGIN TRANSACTION,因此......

BEGIN TRANSACTION;

UPDATE T1
SET [score] = [score]+'na'
where  (name = ‘john’);

--if unhappy with results..
ROLLBACK TRANSACTION; 
如果您希望IMPLICIT_TRANSACTIONS每次都指定ROLLBACK,则

或设置BEGIN TRANSACTION

SET IMPLICIT_TRANSACTIONS ON;

UPDATE T1
SET [score] = [score]+'na'
where  (name = ‘john’);

--if unhappy with results..
ROLLBACK TRANSACTION;