![]() |
Captura de error en Procedimiento almacenado
Hola amigos del foro, tengo una duda con los procedimientos almacenados, tengo un SP que actualiza los registros de un proveedor, yo le paso como parámetro el rut, mi idea es como puedo capturar los errores al momento de actualizar un registro en Firebird.
Gracias de antemano. Saludos. |
resp
|
|
Hola:
Gracias a ambos por la respuesta, logré compilar el procedimiento almacenado, pero existe algún código o algo que me indique un error genérico algo así:
Mi idea es en caso de cualquier error pueda entrar en el When Gracias...Nuevamente Hasta Luego - |
No lo he probado, quizás poniendo " when sqlcode <> 0 do "
El cero es operación exitosa. He visto que se hace mención a la claúsula WHENEVER en el manual de FB, pero no sé su uso :o, posiblemente sea: "when Whenever do" saludos y suete |
Cita:
Gracias de nuevo.. :) |
Rectifico: es en el Data Definition Guide de Interbase 6. Descargable desde ibphenix (datadef.pdf)
pagina 142 Cita:
saludos |
Resp
Yo solo te dije como podias hacer lso de los erroes te pudes leer la lsiat d erroes desde el manual de interbase ya que son muchos.
A y otra cosa que te dicen con las excepciones si unas firebird1.5 o susperior puedes crear una sola exception vacion y dependiendo de donde se te de el error le concatenas al excepcion el erro que quieres que salg apero cuidate el que le largo d elaos errores no supere los 78 caractres bueno aunque aun nos e por que firebird aun tiene esa restriccion |
Hola:
Gracias nuevamente, estoy casi listo con esta duda: me falla una sola cosa:
para que realmente compile bien debo quitar el cod = 0; y el suspend; Cómo puedo arreglar esto ? Mi idea es que si no se produce algún error pueda retornar un código, solo eso !! Muchas Gracias... Hasta luego - |
¿como usas el SP?
Me da la impresión de que intentas hacerlo con un EXECUTE PROCEDURE. Si ha de tener el suspend, deberías usarlo como una tabla/vista. saludos |
Un grano de arena al problema de manejo de errores
Hola amigos aqui adjunto una SP que actualiza stock con manejo de errores:
La variable FLAG retorna un valor que corresponde al tipo de eroor para poder manejarlo. Pero: Cuando provoco un error de bloqueo en todas las ocasiones me entrega un valor de FLAG = 3. Esto aun no lo puedo solucionar ya que fuera de la SP manejo los errores segun sean 1, 2 o 3. Espero sirva el comentario. |
Hola a todos:
Gracias por su ayuda y no me quedo otra que sacar el suspend, debo reconocer que llevo poco en esto de firebird y no entiendo mucho para que es el suspend, por ahora estoy tranquilo por que me funciona el SP, gracias a todos nuevamente. Hasta Luego - |
La franja horaria es GMT +2. Ahora son las 08:01:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi