Salut,
Je suis dans le cadre d'une appli qui doit pouvoir effectuer des traitements simultanés. Je suis donc obligé de gérer des noms de tables dynamique dans mes curseurs.
J'ai donc le code suivant :
Il me paraît impératif de pouvoir gérer une variable lors de la déclaration du curseur puisque je dois pouvoir gérer des traitements simultanés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 CREATE DEFINER=`root`@`localhost` PROCEDURE `exemple`( IN noTable INT(8) ) BEGIN -- création de la table du traitement en cours sur une structure de base SET @s = CONCAT('CREATE TABLE T_TRAITEMENT_',noTable,' LIKE T_STRU_TRAITEMENT'); PREPARE stmt FROM @s; EXECUTE stmt; -- remplissage de la table à traiter SET @s = CONCAT('INSERT INTO T_TRAITEMENT_',noTable,'(AA, BB, CC, ,DD) SELECT AA, BB, CC, DD FROM T_IMPORT_', noTable); PREPARE stmt FROM @s; EXECUTE stmt; -- le curseur... et c'est la que ça coince... END
Hors malgré mes recherches, j'ai l'impression que ce n'est pas possible en MySQL.
Existe t-il une parade ?
Merci d'avance pour vos réponses !
Partager