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:
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:
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:
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 ??