try
if 1=1
 begin
rollback tran T1
return 1
 end
else
 begin
commit tran T1
 return 0end

解决方案 »

  1.   

    BEGIN TRANSACTION 语句使 @@TRANCOUNT 递增 1。ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减为 0,但 ROLLBACK TRANSACTION savepoint_name 语句并不影响 @@TRANCOUNT 值。COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。这样就产生了孤立事务也可以改成这样
    CREATE  procedure ProA --反回1失败,返回0成功
    asbegin
    BEGIN TRAN T1
    save tran t1
    --select @@trancount
    if 1=1
    begin
    rollback tran T1
              if @@trancount<>0 rollback tran
             ----
    return 1
    end
    commit tran T1
    return 0
    end