事务回滚
事物执行后是可以回滚的,但是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
事务的回滚就好像系统记住了事务进行的动作,当执行回滚的时候,撤销这些动作。