Sql server 2008 包含多个查询的存储过程的返回值

Sql server 2008 包含多个查询的存储过程的返回值,sql-server-2008,Sql Server 2008,我有以下SP。我没有从SP获得正确的返回值。 我需要知道SP中的所有查询是否成功执行 BEGIN TRAN SET NOCOUNT off; if @Operation ='A' begin INSERT INTO table1 (---) values (--) INSERT into table2(--)values(--) IF (@@ERROR <> 0) GOTO ERR_HANDLERUpdate end else if @Op

我有以下SP。我没有从SP获得正确的返回值。 我需要知道SP中的所有查询是否成功执行

  BEGIN TRAN
  SET NOCOUNT off;

  if @Operation ='A'
  begin
   INSERT INTO table1 (---) values (--)
   INSERT into table2(--)values(--)
   IF (@@ERROR <> 0) GOTO ERR_HANDLERUpdate
  end
  else if @Operation ='B'
  begin
    --- another update query----
    IF EXISTS(Select * from Med Where a=@a)
    Begin
        Delete from Med where a=@a
    end     
    INSERT into Med(--)values(--)
    IF (@@ERROR <> 0) GOTO ERR_HANDLERUpdate
  end
  COMMIT TRAN
  RETURN 1
  ERR_HANDLERUpdate:
PRINT 'Unexpected error occurred!'
ROLLBACK TRAN
RETURN 0
如果发生任何错误,我希望返回0,如果所有查询都成功执行且没有任何错误,则返回1。 但该过程正在返回过程中执行的查询数。
如何检查过程是否成功执行并返回值..帮助我..

您如何测试存储过程的返回值?另外,您如何知道返回值等于过程中执行的查询数,正如您所说的那样?@AnnL.:可能OP指的是。。。当谈到执行的查询数时,行会影响消息。@AndriyM True;我只是注意到OP没有关闭计数,而不是打开计数,所以他或她确实会。。。受影响的消息的行。