Valor de retorno del procedimiento almacenado que contiene múltiples consultas
Frecuentes
Visto 85 equipos
0
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...
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas sql-server-2008 or haz tu propia pregunta.
¿Cómo está probando el valor de retorno del procedimiento almacenado? - Ann L.
Además, ¿cómo sabe que el valor de retorno es igual a la cantidad de consultas ejecutadas en el procedimiento, como afirma? - Ann L.
@AnnL .: Quizás el OP se refería a los mensajes "... fila(s) afectadas" cuando hablaba de "recuento de consultas ejecutadas". - Andriy M
@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". - Ann L.