从包含多个查询的存储过程返回值

时间:2014-02-08 12:39:01

标签: 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 @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。     但是该过程正在返回在过程中执行的查询的计数。     如何检查程序是否成功执行并返回值..帮助我..

0 个答案:

没有答案