MySQL - Consultas anidadas en MYSQL

 
Vista:

Consultas anidadas en MYSQL

Publicado por Elena (1 intervención) el 25/09/2008 10:22:11
Hola a todos, estoy empezando con Mysql y tengo un problema que no se resolver. Os estaría muy agradecida si pudiérais ayudarme.
En mi procedimiento almacenado tengo que lanzar dos consultas anidadas, lo típico de... 'para cada LINEA búscame todos el INVENTARIO asociado y realiza un determinado tratamiento'.
He creado un CURSOR con un LOOP y un manejador HANDLER de la forma:

DECLARE datos_linea CURSOR...
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_rows = TRUE;

OPEN datos_linea;
loop_datos_linea: LOOP

FETCH datos_linea
INTO ...

IF no_more_rows THEN
CLOSE datos_linea;
LEAVE loop_datos_linea;
END IF;
...

BEGIN

DECLARE datos_inventario CURSOR FOR ...
OPEN datos_inventario;

loop_datos_inventario: LOOP

FETCH datos_inventario
INTO ...

IF no_more_rows THEN
CLOSE datos_inventario;
LEAVE loop_datos_inventario;
END IF;

END LOOP loop_datos_inventario;

END;

END LOOP loop_datos_linea;

En fin, el problema es que con un HANDLER NOT FOUND quiero tratar dos consultas (una dentro de otra) y se sale del bucle externo cuando termina una de las iteraciones del interno.
No se si me he explicado bien, pero... ¿podríais ayudarme por favor?
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consultas anidadas en MYSQL

Publicado por Enrique (1 intervención) el 10/11/2008 23:34:39
Ahhh,

Pues eso que escribiste se puede hacer con ese condigo PERO EN ORACLE.

Aqui estamos con MySQL

Personalmente trato de hacer lo siguiente y me ha funcionado, lastima que mi compu toco reiniciarla ayer por un gusano tenaz.

En fir, si puedes hacer consulta subconsulta simple, empleando alias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar