Tema: Procedure
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/09/2008, 17:22
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 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)