FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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.
__________________
No todo es como parece ser... |
#3
|
||||
|
||||
Si es un error en la lógica del negocio, puedes crear tu propia excepción
y lanzarla desde un SP
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 29-11-2005 a las 18:23:26. |
#4
|
||||
|
||||
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 todo es como parece ser... |
#5
|
||||
|
||||
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 , posiblemente sea: "when Whenever do" saludos y suete
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
||||
|
||||
Cita:
Gracias de nuevo..
__________________
No todo es como parece ser... |
#7
|
||||
|
||||
Rectifico: es en el Data Definition Guide de Interbase 6. Descargable desde ibphenix (datadef.pdf)
pagina 142 Cita:
saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 30-11-2005 a las 18:07:19. |
#8
|
||||
|
||||
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
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#9
|
||||
|
||||
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 -
__________________
No todo es como parece ser... |
#10
|
||||
|
||||
¿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
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
|||
|
|||
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. |
#12
|
||||
|
||||
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 -
__________________
No todo es como parece ser... |
|
|
|