Bonjour,
J'ai créé la fonction suivante, dans le but de l'exécuter dans une requête:
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
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|
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 GetOptionValue( @cur_inst, 'WS_Port' ); +----------------------------------------+ | GetOptionValue( @cur_inst, 'WS_Port' ) | +----------------------------------------+ | NULL | +----------------------------------------+ 1 row in set (0.00 sec)
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 ??
Partager