Bonsoir,
je vais tenter d'être le plus clair possible dans mon problème.

J'ai créé une procédure stockée avec plusieurs paramètres d'entrée.
Dans cette procédure, j’exécute une requête qui remonte une valeur (ex : 'VILLE').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT param FROM table WHERE ...;
    --> VILLE
Cette valeur va me permettre de savoir quel est le paramètre (portant le même nom) que je dois tester (dans notre cas paramètre VILLE).

Pour faire cela j'utilise un PREPARE :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE DEFINER=`root`@`localhost` PROCEDURE `TEST`(CODE_POSTAL VARCHAR(5), VILLE VARCHAR(10))
BEGIN
 
    set @val = SELECT param FROM table WHERE ...;
        /* @val = 'VILLE' */
 
    set @sql_text = CONCAT('SELECT ',  @val);
 
    PREPARE REQ FROM @sql_text ;
    EXECUTE REQ;
    DEALLOCATE PREPARE REQ;
 
END
MySQL me retourne l'erreur suivante :
Error Code: 1054. Unknown column 'VILLE' in 'field list'
Or lorsque je fait un SELECT de @sql_text, j'obtiens << SELECT VILLE >> et si j’exécute cette requête j'obtiens bien ma valeur d'entrée.

Comment puis-je faire pour récupérer la valeur du paramètre d'entré qui m’intéresse ?

ex : PARIS si j’exécute la procédure stockée -->
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CALL TEST('75000', 'PARIS');
En espérant que quelqu'un ait compris mon problème.

Cordialement,

Xavi13