CREATE PROCEDURE DBO.xxx
as
set nocount off
BEGIN TRANSACTION
update eit_Class set orders=520 where id=1
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
insert into eit_Class(orders) values('a')
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
if exists(select 1 from eit_Class where id=1)
begin
update eit_Class set orders=111 where id=1
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
end
else
begin
insert into eit_Class(orders) values(111)
if @@error <> 0
begin
-- raiserror('抱歉,插入时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
end
COMMIT TRANSACTION /*提交事务,保持修改*/
GO
update eit_Class set orders=520 where id=1以上这句没错 为什么不会写入库中? 我不要全部回滚
as
set nocount off
BEGIN TRANSACTION
update eit_Class set orders=520 where id=1
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
insert into eit_Class(orders) values('a')
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
if exists(select 1 from eit_Class where id=1)
begin
update eit_Class set orders=111 where id=1
if @@error <> 0
begin
--raiserror('抱歉,更新时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
end
else
begin
insert into eit_Class(orders) values(111)
if @@error <> 0
begin
-- raiserror('抱歉,插入时发生错误,更新失败!'16,1)
ROLLBACK /*回滚,取消修改*/
return
end
end
COMMIT TRANSACTION /*提交事务,保持修改*/
GO
update eit_Class set orders=520 where id=1以上这句没错 为什么不会写入库中? 我不要全部回滚
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货