
30/09/2008, 17:22
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses Puntos: 2658 | |
Respuesta: Procedure Si, porque lo que detecta es la condición de NOT FOUND.
El HANDLER se declara para detectar eventos, pero no pertenece a ninguna tabla, por lo que la condición se cumple en cuanto se produce el evento en el motor.
Te corresponde a ti el construir la secuencia de modo de poder controlar los diferentes pasos del Procedure que puedan cumplir la tarea que requieres.
Uno de los tips que te sugiero usar es que el NOT FOUND como HANDLER es mejor usarlo únicamente cunado sea una condición de salida absoluta y no exista más tarea que hacer dentro de ciclo. Pero si lo que quieres es realizar varias cosas o comparaciones y tareas condicionales, mejor usa el ciclo para recorrer las tablas y construye flags (variables de control) para detectar las condiciones dentro del ciclo.
En ese caso, lo mejor es un HANDLER definido para el SQLSTATE 02000.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |