create table table1(id int identity(1,1),code varchar(10))
create table table2(id int primary key)
begin tran
insert into table1(code)
select 'aaa'
declare @id int
select @id=@@identity
insert into table2(id)
select @id
if @@rowcount>=1 and @@error=0
commit
else
rollback tran
--上面这部分会执行成功
begin tran
insert into table1(code)
select 'bbb'
declare @id int
select @id=@@identity
insert into table2(id)
select 1
if @@rowcount>=1 and @@error=0
commit
else
rollback tran
--上面这部分会执行失败,table1和table2都会回滚