Mercii aieeeuuuuu pour ta réponse mon souci exactement est que j'ai besoin de faire des curseurs dynamique utilisant cette requête :
Code :
SELECT tbl.champ1, tbl.champ2 (A)
FROM
(
SELECT CONCAT('test_',entriesid)
FROM tabletest
WHERE name = 'kb'
AND id = 3125
)AS tbl;
Sachant que la sous requête génère comme résultat la chaine de caractère "test_15" qui est une table contenant les colonnes "champ1" et "champ2"
alors j'ai pu faire marché ma requête utilisant des variables ainsi:
Code :
select id into @val_id from tabletest where name='kb' and id=3125;
set @table_name := CONCAT('Test_' , @val_id);
select @table_name;
PREPARE rp FROM @table_name;
EXECUTE rp;
puis j'ai déclaré mon curseur :
Code :
DECLARE distinctCursor CURSOR for SELECT DISTINCT champ1, champ2 FROM @table_name;
et dans le corps je mets:
Code :
select id into @val_id from tabletest where name='kb' and id=3125;
set @table_name := CONCAT('Test_' , @val_id);
cela ne marche pas il me donne erreur dans la déclaration du curseur, pour cela je suis obligée de déclarer mon curseur utilisant la requête (A) la 1ere.
J'espère bien expliquer mon pb et merci pour tout aide d'avance