Manejar error detectado en medio de un SP

09/01/2005 - 04:55 por Jose | Informe spam
Desde mi aplicacion abro una transaccion (begin trans) luego ejecuto varios
SP para luego hacer el commit.
Mi problema es que dentro de cada SP puede ocurrir un error luego de cada
instruccion y necesito que si en un SP ocurre el error yo pueda retornar a
la aplicacion un estatus de error para saber que no concluyo correctamente
ese SP para hacer un rollback desde la aplicacion.

En otras palabras, como puedo cancelar la ejecucion de un SP luego de un
error y que devuelva el SP un estatus de error como valor de retorno a la
aplicacion para poder hacer un rollback. y no seguir ejecutando mas
instrucciones ?
 

Leer las respuestas

#1 ulises
09/01/2005 - 16:49 | Informe spam
EL procedimiento almacenado puede retornar un error con RETURN, de esa
manera cuando ejecues el procedimiento puedes verificar si se ejecutò
correctamente, algo como :

DECLARE @returnvalue int
...
EXEC @returnvalue = procedimientoalmacenado1 ...
IF @returnvalue <> 0
BEGIN
ROLLBACK
RETURN 99
END
...

Saludos,
Ulises

On Sat, 8 Jan 2005 23:55:34 -0400, "Jose"
wrote:

Desde mi aplicacion abro una transaccion (begin trans) luego ejecuto varios
SP para luego hacer el commit.
Mi problema es que dentro de cada SP puede ocurrir un error luego de cada
instruccion y necesito que si en un SP ocurre el error yo pueda retornar a
la aplicacion un estatus de error para saber que no concluyo correctamente
ese SP para hacer un rollback desde la aplicacion.

En otras palabras, como puedo cancelar la ejecucion de un SP luego de un
error y que devuelva el SP un estatus de error como valor de retorno a la
aplicacion para poder hacer un rollback. y no seguir ejecutando mas
instrucciones ?



Preguntas similares