IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Variable non stockée dans une fonction


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut Variable non stockée dans une fonction
    Bonjour,

    J'ai créé la fonction suivante, dans le but de l'exécuter dans une requête:

    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
     
    DROP FUNCTION IF EXISTS GetOptionValue;
     
    CREATE FUNCTION GetOptionValue(p_instance VARCHAR(64), p_code VARCHAR(32))
    RETURNS VARCHAR(256)
    BEGIN
    	DECLARE value VARCHAR(256);
     
    	SELECT `value` FROM `GLOBAL_PARAMETERS`
    	WHERE `instance`=`p_instance` AND UCASE(`code`)=UCASE(`p_code`)
    	LIMIT 1
    	INTO value;
     
    	RETURN value;
    END|
    Le problème c'est que l'appel de ma fonction me renvoie toujours NULL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mysql> select GetOptionValue( @cur_inst, 'WS_Port' );
    +----------------------------------------+
    | GetOptionValue( @cur_inst, 'WS_Port' ) |
    +----------------------------------------+
    | NULL                                   | 
    +----------------------------------------+
    1 row in set (0.00 sec)
    Pourtant si j'appelle la requete directement j'ai bien une valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mysql> SELECT `value` FROM `GLOBAL_PARAMETERS` WHERE `instance`=@cur_inst AND UCASE(`code`)=UCASE('WS_Port');
    +-------+
    | value |
    +-------+
    | 6000  | 
    +-------+
    1 row in set (0.00 sec)

    Je pense avoir oublié quelque chose, on dirait que le résultat n'est pas placée dans la variable.

    ANY IDEA ??

  2. #2
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 63
    Par défaut
    ok la syntaxe du sélect était en fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	SELECT `value` INTO retValue FROM `GLOBAL_PARAMETERS`
    	WHERE `instance`=`p_instance` AND UCASE(`code`)=UCASE(`p_code`)
    	LIMIT 1;
    Syntaxe vue dans un post de Antoun, merci Antoun !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copie d'une variable non reconnue dans une fonction
    Par paragoge dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 27/10/2009, 13h30
  2. Réponses: 6
    Dernier message: 18/04/2007, 11h47
  3. variable non reconnue dans une requête sql
    Par sanatou dans le forum C++
    Réponses: 3
    Dernier message: 13/12/2006, 17h43
  4. Variable générale non trouvée dans une fonction
    Par mickael.be dans le forum Langage
    Réponses: 10
    Dernier message: 21/02/2006, 19h18
  5. [PHP-JS] Formulaire non trouvé dans une fonction
    Par philippe30 dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2005, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo