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以上这句没错 为什么不会写入库中? 我不要全部回滚