CREATE PROCEDURE TestProc
AS
 declare @rc int
select @rc=0
begin
 insert into NotifyInfo(a,b) values('a','b')
select @rc=@@error
if @rc<>0
begin
select @rc=-1
RETURN @RC
END
ELSE SELECT @RC=0
RETURN @RC
END

解决方案 »

  1.   

    CREATE PROCEDURE TestProc
    AS
      insert into NotifyInfo(a,b) values('a','b')
      if @@error>0 reture 'Error!'
      

  2.   

    T-SQL存储过程调试器,SQLServer自带工具,单步调试存储过程!每步都可以看到变量的变化最后得到调试结果,这就是最好的方法!
      

  3.   

    如果这样那么:
    CREATE PROCEDURE TestProc
    AS
    begin
     insert into NotifyInfo(a,b) values('a','b')
       if @@error<>0
    begin
              rollback tran
     print'tran rollback!'
              return
    END
    ELSE begin
                    commit
                    print'tran commit!' 
                  endEND
      

  4.   

    不好意思,不知道有没有领会楼主的意思:
    你是不是这样:
     如果这样那么:
    CREATE PROCEDURE TestProc
    @memo varchar(30) output
    AS
    begin
     insert into NotifyInfo(a,b) values('a','b')
       if @@error<>0
    begin
              rollback tran
     select @memo='tran rollback!'
              return
    END
    ELSE begin
                    commit tran
                    select @memo='tran commit!' 
                  endEND你调用该存储过程时,返回的@memo就会告诉你提交是不是成功了。