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 29/09/2006, 15h50   #1
Membre du Club
 
Inscription : juin 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 79
Points : 60
Points : 60
Par défaut Problème de création de fonction

je suis en train de me mettre au procedures stockées et j'ai un petit souci avec le CREATE FUNCTION. Je n'arrive pas à écrire une pauvre fonction qui retourne une valeur et ca fait un petit moment que je tourne en rond sans trouver cette erreur

par exemple
Code :
1
2
3
CREATE FUNCTION test()
RETURNS BOOL
RETURN false
fonctionne très bien

Par contre quand j'essaye de rajouter un bloc begin end
Code :
1
2
3
4
5
CREATE FUNCTION test()
RETURNS BOOL
BEGIN
  RETURN FALSE;
END;
ca ne fonctionne plus et j'ai le message d'erreur suivant:
Code :
1
2
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'return false
END' at line 4
J'ai essayé en rajoutant la declaration d'une variable entre le begin et le return false; et cette fois l'erreur est sur la decalration de variable
ArnaudD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 18h43   #2
Invité régulier
 
Inscription : décembre 2004
Messages : 14
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 14
Points : 6
Points : 6
Par défaut delimiter

entre begin et end je pense que tu dois mettre des instructions SQL.
micig est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 18h52   #3
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Sûrement un problème de délimiteur

Code :
1
2
3
4
5
6
7
8
9
DELIMITER |

CREATE FUNCTION test()
RETURNS BOOL
BEGIN
  RETURN FALSE;
END |

DELIMITER ;
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 22h06   #4
Membre du Club
 
Inscription : juin 2006
Messages : 79
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 79
Points : 60
Points : 60
Je vous remercie de vos réponse, mais le problème provient en fait de phpmyadmin (je ne peux pas acceder à la console, c'est un site web). Je ne pensais pas qu'il interferait mais chose est.

J'ai donc résolu le problème en passant par un fichier php grâce à la fonction mysqli_query j'ai réussi a enregistrer mes fonctions
ArnaudD 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 12h38.


 
 
 
 
Partenaires

Hébergement Web