Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Duda con LOOP

Estas en el tema de Duda con LOOP en el foro de Mysql en Foros del Web. Saludos, estoy haciendo un Procedure y el código es este: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original BEGIN DECLARE cur2 CURSOR FOR     SELECT Nombre ...
  #1 (permalink)  
Antiguo 22/03/2015, 04:53
Avatar de warnoise  
Fecha de Ingreso: julio-2011
Ubicación: Sevilla
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 0
Duda con LOOP

Saludos, estoy haciendo un Procedure y el código es este:

Código MySQL:
Ver original
  1. DECLARE cur2 CURSOR FOR
  2.     SELECT Nombre, mail1 FROM AP1_2_tabla_clientes_Consulta;
  3.     DECLARE CONTINUE HANDLER FOR NOT FOUND SET @done=1;
  4.     OPEN cur2;
  5.        loop1: Loop
  6.            FETCH cur2 INTO nombre, email;
  7.            IF @done=1 THEN
  8.                 Leave loop1;
  9.            End IF;
  10.        End loop loop1;
  11.     Close cur2;
[/CODE]

Me surge una duda y no consigo sacarla, cuando ejecuto este procedimiento, me devuelve una unica fila, mi intención es que me devuelva todos los valores de la tabla.

Un saludo.
Gracias.

Última edición por gnzsoloyo; 22/03/2015 a las 06:30
  #2 (permalink)  
Antiguo 22/03/2015, 06:01
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Duda con LOOP

El objetivo de un cursor en MySQL es realizas un proceso iterativo con los registros, pero no devolver un set de ellos. No te olvides que en MYSQL no existen los tipos array.
En ese sentido, lo que estás haciendo es simplemente recorriendo el resultado de la consulta, sin hacer otra cosa, y como estás usando variables de usuario, estás pudiendo ver el par de valores del ultimo registro recorrido.

Si lo que quieres es una tabla como salida, el SP sólo debe contener una consulta, nada mas.

Pero solo te servirá si el SP es llamado directamente en una aplicación. SI lo haces desde otro SP, no obtendrás nada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 22/03/2015 a las 06:32
  #3 (permalink)  
Antiguo 22/03/2015, 07:23
Avatar de warnoise  
Fecha de Ingreso: julio-2011
Ubicación: Sevilla
Mensajes: 12
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda con LOOP

Gracias, me acabo de dar cuenta que mi mensaje está incompleto, ya que no he mencionado en ningun momento que los datos los queria extraer a PHP, ya he creado un mensaje en el foro correspondiente.

Gracias de todas formas.

Etiquetas: loop, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.