[proc sto][prepared statement]passer un nom de base en parametre
Bonjour,
Ca fait un petit moment que j'essaie de créer une procedure stockée qui peut prendre un nom de base en parametre.
Ce qeu j'ai trouvé dans mes recherches :
On ne peut changer de base dans une procedure stockée qu'en utilisant les prepared statement.
Mon pb etant le suivant : il me faut un curseur sur la requete.
en gros, voici ce que ca devrait donner :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
CREATE PROCEDURE `maProcedure`(pBase varchar(50))
BEGIN
declare vbar int(6);
declare v_fin_curseur boolean default false;
declare curs CURSOR for select
bar
from
foo
where
foobar in (select foobar from pBase.fooD);
declare continue handler for not found set v_fin_curseur = True;
OPEN curs;
FETCH curs INTO vbar;
WHILE (v_fin_curseur = false) DO
#code ici
FETCH curs INTO vbar;
end while;
END$$
DELIMITER ; |
A priori, on ne peut pas faire de prepared statement sur un resultat mis en curseur. Me trompe-je?