Capturar error procedimiento

15/04/2004 - 15:23 por Diana C. Rios | Informe spam
Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a otro procedimiento
almancenado, y deseo capturar cualquier error que suceda dentro de este
procedimiento almacenado. He intentado utilizar la variable @@error, pero
esta siempre esta en cero, a pesar que dentro del procedimiento que llamo se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al respecto,

Saludos

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
15/04/2004 - 15:26 | Informe spam
Hola, una opcion es:

los Store retornan un valor ok o malo, por decirlo de alguna forma, esto lo
podes hacer con la instruccion Return.

Revisa en tus libros en pantalla como se usa la misma y seguro que te sera
muy util

Bye



Salu2
Maxi

Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET

MSN:
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Diana C. Rios" escribió en el mensaje
news:
Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a otro


procedimiento
almancenado, y deseo capturar cualquier error que suceda dentro de este
procedimiento almacenado. He intentado utilizar la variable @@error,


pero
esta siempre esta en cero, a pesar que dentro del procedimiento que llamo


se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al respecto,

Saludos







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.655 / Virus Database: 420 - Release Date: 08/04/2004
Respuesta Responder a este mensaje
#2 ulises
15/04/2004 - 15:38 | Informe spam
La variable @@error siempre tiene el resultado de la
última sentencia T-SQL realizada, es por ello que las
validaciones de ese campo deben hacerse apenas se termina
de ejecutar la sentencia y en base a ello se puede
utilizar RETURN(xx) o también puedes salvarla en un campo
integer que luego al final lo uses para comparar y
determinar la acción a seguir.

Saludos,
Ulises

Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a


otro procedimiento
almancenado, y deseo capturar cualquier error que suceda


dentro de este
procedimiento almacenado. He intentado utilizar la


variable @@error, pero
esta siempre esta en cero, a pesar que dentro del


procedimiento que llamo se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al


respecto,

Saludos


.

Respuesta Responder a este mensaje
#3 Miguel Egea
15/04/2004 - 15:40 | Informe spam
use tempdb
go

create proc produceerror as
begin
raiserror('esto es un error',16,1)
return 12
end
go

declare @error int
exec @error=produceerror
if @error<>0
print 'se ha producido un error'


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores
http://www.portalsql.com

(Quita el online si me tienes que mandar un correo)
"Diana C. Rios" escribió en el mensaje
news:
Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a otro


procedimiento
almancenado, y deseo capturar cualquier error que suceda dentro de este
procedimiento almacenado. He intentado utilizar la variable @@error,


pero
esta siempre esta en cero, a pesar que dentro del procedimiento que llamo


se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al respecto,

Saludos


Respuesta Responder a este mensaje
#4 Gustavo Larriera [MVP SQL]
15/04/2004 - 15:40 | Informe spam
Podrias usar RAISERROR para burbujear los errores desde los procedimientos
hacia los procedimientos invocadores.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Diana C. Rios" wrote in message
news:
Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a otro


procedimiento
almancenado, y deseo capturar cualquier error que suceda dentro de este
procedimiento almacenado. He intentado utilizar la variable @@error,


pero
esta siempre esta en cero, a pesar que dentro del procedimiento que llamo


se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al respecto,

Saludos


Respuesta Responder a este mensaje
#5 Diana C. Rios
15/04/2004 - 16:40 | Informe spam
Muchas gracias a todos por sus ideas, pude dar solucion al problema.

Saludos



"Diana C. Rios" escribió en el mensaje
news:
Hola Todos.

Dentro de un procedimiento almacenado, hago una llamada a otro


procedimiento
almancenado, y deseo capturar cualquier error que suceda dentro de este
procedimiento almacenado. He intentado utilizar la variable @@error,


pero
esta siempre esta en cero, a pesar que dentro del procedimiento que llamo


se
ha generado un error.

El esquema es mas o menos asi.

execute sp_procedure_xxx @var1, @var2, @var3

IF (@@error <> 0) GOTO ErrorGeneral


Agradecería quien pueda darme alguna orientacion al respecto,

Saludos


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida