事务回滚

事物执行后是可以回滚的,但是commit了就不能回滚了。
GO

CREATE TABLE ValueTable ([value] int)
GO

DECLARE @TransactionName varchar(20) = 'Transaction1';

--These statements start a named transaction,
--insert a two records, and then roll back
--the transaction named in the variable
BEGIN TRAN @TransactionName
       INSERT INTO ValueTable VALUES(1)
       INSERT INTO ValueTable VALUES(2)
 --提交事物,然后再滚。     
DECLARE @TransactionName varchar(20) = 'Transaction1';

ROLLBACK TRAN @TransactionName

INSERT INTO ValueTable VALUES(3)
INSERT INTO ValueTable VALUES(4)

SELECT * FROM ValueTable

事务的回滚就好像系统记住了事务进行的动作,当执行回滚的时候,撤销这些动作。

原文地址:https://www.cnblogs.com/363546828/p/2225573.html