@@error 能否判断存储过程是否整体执行成功

解决方案 »

  1.   

    begin tran exec proc1if @@error<>0
    begin
    raiserror('执行过程中出错,操作回滚!',16,1)
    rollback tran
    return
    endexec proc2if @@error<>0
    begin
    raiserror('执行过程中出错,操作回滚!',16,1)
    rollback tran
    return
    end
    ..........
    --最后没问题了,提交事务。
    commit tran
      

  2.   

    begin tran 
    exec proc1
    if @@error<>0
    begin
    raiserror('语句有错误!',16,1)
    rollback tran
    return
    end