Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2011, 23h18   #1
Invité de passage
 
Homme
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Test de paramètre d'entrée procédure stockée

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 :
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 :
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 :
Citation:
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 :
CALL TEST('75000', 'PARIS');
En espérant que quelqu'un ait compris mon problème.

Cordialement,

Xavi13
Xavi13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h04.


 
 
 
 
Partenaires

Hébergement Web