Por ejemplo
Código SQL:
Ver originalCREATE PROCEDURE curdemo()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE cur1 CURSOR FOR SELECT id,DATA FROM test.t1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO a, b;
IF done THEN
LEAVE read_loop;
END IF;
IF b < c THEN
# AQUI HABRÏA UN PROBLEMA (POR EL DECLARE)
DECLARE cur1 CURSOR FOR SELECT id,DATA FROM test.t1;
.
.
.
ELSE
# AQUI TAMBIEN HABRÏA UN PROBLEMA (POR EL DECLARE)
DECLARE cur1 CURSOR FOR CALL otra_funcion(param_de_primer_sql, param_de_primer_sql);
.
.
.
END IF;
END LOOP;
CLOSE cur1;
CLOSE cur2;
END;
Espero haber sido más claro, gracias.