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 11/09/2007, 10h29   #1
Membre habitué
 
Avatar de PoichOU
 
Homme PoichOU
Étudiant
Inscription : juillet 2006
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme PoichOU
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2006
Messages : 296
Points : 114
Points : 114
Par défaut Problème avec une FUNCTION

Bonjour

Je souhaite créer une fonction très basic qui prend 2 valeurs en entrées et qui return valeur1_valeur2.

J'ai donc créer la fonction suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
delimiter |
DROP FUNCTION IF EXISTS `getValue` |
CREATE FUNCTION getValue
(
  id   INTEGER(11),
  text VARCHAR(10)
)
RETURNS VARCHAR(100)
DETERMINISTIC
BEGIN
	RETURN '' || id || '_' || text;
END|
delimiter ;
mon probèle est que lorsque je l'appelle, le résultat obtenu n'est pas celui attendu :

Code :
1
2
3
4
5
6
7
8
9
10
mysql> SET @res = getValue(6,'test') ;
Query OK, 0 rows affected (0.01 sec)
 
mysql> SELECT @res ;
+------+
| @res |
+------+
| 1    |
+------+
1 row IN SET (0.00 sec)
moi je voudrais avoir comme résultat : "6_test"


J'me suis planté quelque part, mais je ne sais pas trop où. Quelqu'un saurait m'aider ?


PoichOU
PoichOU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 11h00   #2
Membre éclairé
 
Avatar de jota5450
 
Jota Alves
Inscription : janvier 2006
Messages : 263
Détails du profil
Informations personnelles :
Nom : Jota Alves
Âge : 36

Informations forums :
Inscription : janvier 2006
Messages : 263
Points : 303
Points : 303
slt...


Code :
RETURN (concat('"',id,'_',text,'"'));
jota5450 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 11h06   #3
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Je pense qu'il faut utiliser la fonction concat() dans ta fonction :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
delimiter |
DROP FUNCTION IF EXISTS `getValue` |
CREATE FUNCTION getValue
(
  id   INTEGER(11),
  text VARCHAR(10)
)
RETURNS VARCHAR(100)
DETERMINISTIC
BEGIN
	RETURN CONCAT(id, '_', text);
END|
delimiter ;
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 11h11   #4
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Citation:
Envoyé par jota5450 Voir le message
slt...


Code :
RETURN (concat('"',id,'_',text,'"'));

+1 pour m'avoir devancé
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2007, 11h12   #5
Membre habitué
 
Avatar de PoichOU
 
Homme PoichOU
Étudiant
Inscription : juillet 2006
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme PoichOU
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2006
Messages : 296
Points : 114
Points : 114
Merci à vous 2, je ne connaissais pas concat()

je teste ça dès que possible...
PoichOU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2007, 10h24   #6
Membre habitué
 
Avatar de PoichOU
 
Homme PoichOU
Étudiant
Inscription : juillet 2006
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme PoichOU
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2006
Messages : 296
Points : 114
Points : 114
ça marche nikel


merkiiiiiiiiiiiii
PoichOU est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h15.


 
 
 
 
Partenaires

Hébergement Web