Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2014, 12:19
Avatar de zerokull
zerokull
 
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 14 años, 5 meses
Puntos: 1
Procedimeinto Almacenado

Hola buenas tardes.

Tengo un problema con SP en mysql. Les explico:
Este es mi codigo:
Código MySQL:
Ver original
  1.     DECLARE id_persona BIGINT(20);
  2.     DECLARE ids VARCHAR(50);
  3.     DECLARE fin INTEGER DEFAULT 0;
  4.     DECLARE cursor_parientes CURSOR FOR
  5.         SELECT A.N_ID_PARIENTE as ids_parientes
  6.         FROM tb_alumno AS A ,tb_datos_generales AS G
  7.         WHERE A.N_DATOS_PERSONALES = G.N_DATOS_PERSONALES
  8.         AND A.N_ASIGNADO = idGrupo
  9.         AND A.N_DATOS_PERSONALES = idAlumno;
  10.   DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin=1;
  11.  
  12.     DROP TEMPORARY TABLE IF EXISTS tab_idsParientes;
  13.     CREATE TEMPORARY TABLE IF NOT EXISTS tab_idsParientes
  14.     (
  15.         id_parientes CHAR(50)  
  16.     );
  17.    
  18.     OPEN cursor_parientes;
  19.     cursor_parientesLoop: LOOP
  20.     FETCH cursor_parientes INTO id_persona;
  21.         IF fin THEN
  22.             LEAVE cursor_parientesLoop;
  23.         END IF;
  24.        
  25.         INSERT INTO tab_idsParientes(id_parientes)
  26.         SELECT A.N_ID_PARIENTE AS ids_parientes
  27.         FROM tb_alumno AS A , tb_datos_generales AS G
  28.         WHERE A.N_DATOS_PERSONALES = G.N_DATOS_PERSONALES
  29.         AND A.N_ASIGNADO = idGrupo
  30.         AND A.N_DATOS_PERSONALES = idAlumno;       
  31.         END LOOP cursor_parientesLoop;
  32.     CLOSE cursor_parientes;
  33.     SET ids = (SELECT id_parientes FROM tab_idsParientes); 
  34.    
  35.     select tb_parientes.N_DATOS_PERSONALES as id_pariente, tb_datos_generales.S_NOMBRE as nombre, tb_datos_generales.S_CORREO as correo
  36.     from tb_parientes,tb_datos_generales
  37.     where tb_datos_generales.N_DATOS_PERSONALES = tb_parientes.N_DATOS_PERSONALES
  38.     and tb_parientes.N_ID_PARIENTE in ( ids ); 

Lo que me devuelve el cursor es 1,2,5,6,7 y al consulta final me debería de devolver 5 filas y solo me devuelve la primera. me podrían ayudar. Nose que esta pasando.
Saludos