Valor de retorno del procedimiento almacenado que contiene múltiples consultas

Tengo el siguiente SP. No obtengo el valor de retorno adecuado de SP. Necesito saber si todas las consultas realizadas dentro de SP se ejecutan con éxito o no.

  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

Quiero devolver 0 si ocurre algún error y 1 si todas las consultas se ejecutan correctamente sin ningún error. Pero el procedimiento devuelve el recuento del número de consultas ejecutadas en el procedimiento. Cómo comprobar si el procedimiento se ejecuta con éxito y devuelve el valor... Ayúdame...

preguntado el 08 de febrero de 14 a las 12:02

¿Cómo está probando el valor de retorno del procedimiento almacenado? -

Además, ¿cómo sabe que el valor de retorno es igual a la cantidad de consultas ejecutadas en el procedimiento, como afirma? -

@AnnL .: Quizás el OP se refería a los mensajes "... fila(s) afectadas" cuando hablaba de "recuento de consultas ejecutadas". -

@AndriyM Cierto; Acabo de notar que el OP ha desactivado NOCOUNT, en lugar de activarlo, por lo que él o ella recibirían mensajes "... fila(s) afectadas". -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.