Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/07/2009, 09:07
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: Modificar auto_increment desde Procedimiento Almac

Tienes un problema sencillo:
1. Si trabajas cursores en ciclos REPEAT con un flag de sobre un HANDLER, una de dos: O defines un flag para cada REPEAT si están anidados, o bien reinicias el FLAG si son secuenciales.
El problema se da en que cuando completó el primer ciclo el flag vale 1 (uno), y cuando se inicia el segundo REPEAT como entra valiendo 1, solamente ejecuta la primera secuencia y sale.
2. Crear un cursos para que haga
Código sql:
Ver original
  1. SELECT MAX(id) FROM peticiones
no tiene ningun sentido, porque hubiera dado lo mismo que pusieras directamente la sentencia. A fin de cuentas, lo invocas una sola vez.
3. Es bastante posible (no me puse a hacer un análisis detallado) que una importante parte de este procedimiento se pudiese realizar sin cursores. Si se preparan las consultas de modo que hagan un volcado de los datos a tablas temporales, la actualización, los borrados o inserciones se pueden realizar en forma masiva, y no secuenciales, como está planteado.
Luego me fijo con más detalle.

Respecto de los triggers, no conozco forma de desactivarlos, solamente eliminándolos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)