>我在列上使用更新语句,现在我想反转它。有没有办法撤消这个?
这是原始数据
Name Score
John 15
John 15
我使用了这个查询:
UPDATE T1
SET [score] = [score]+'na'
WHERE (name = ‘john’)
这给了我这个:
Name Score
John 15na
John 15na
我可以撤消此操作并删除na
吗?我希望分数是浮动的。
通过删除添加的na
来撤消:
UPDATE T1
SET [score] = LEFT([score],LEN([score])-2)
where (name = 'john')
您可以按照TT.所述手动更新到其原始值,也可以ROLLBACK
。如果IMPLICIT_TRANSACTIONS
设置为 on,则可以通过执行 ROLLBACK TRANSACTION;
来ROLLBACK
。但是,如果EXPLICIT_TRANSACTIONS
设置为 on,则需要指定如下所示的BEGIN TRANSACTION
...
BEGIN TRANSACTION;
UPDATE T1
SET [score] = [score]+'na'
where (name = ‘john’);
--if unhappy with results..
ROLLBACK TRANSACTION;
或者,如果您希望ROLLBACK
而不每次都指定BEGIN TRANSACTION
,请设置IMPLICIT_TRANSACTIONS
(如果尚未打开)。
SET IMPLICIT_TRANSACTIONS ON;
UPDATE T1
SET [score] = [score]+'na'
where (name = ‘john’);
--if unhappy with results..
ROLLBACK TRANSACTION;