DECLARE @TransactionName varchar(20) set @TransactionName ='Transaction1'
--想实现插入小马哥,不插入孙大圣 begin transaction
insert into Student values('998888','小马哥','国际贸易','22') --就插入这一条
--注释这里就可以 ---begin transaction @TransactionName insert into Student values('998887','孙大圣','工商管理','99') --这条插入后,马上回滚 save transaction @TransactionName rollback transaction @TransactionName
commit transaction end
[解决办法]
多个事务,建议每个事务都有独立的事务名,rollback/commit会针对特定的事务名
create procedure test_pro as begin
DECLARE @TransactionName varchar(20) set @TransactionName ='Transaction1'
--想实现插入小马哥,不插入孙大圣 begin transaction
insert into Student values('998888','小马哥','国际贸易','22') --就插入这一条
begin transaction @TransactionName insert into Student values('998887','孙大圣','工商管理','99') --这条插入后,马上回滚 save transaction @TransactionName rollback transaction @TransactionName