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 20/09/2006, 00h21   #1
Membre du Club
 
Avatar de Arvulis
 
Inscription : septembre 2003
Messages : 115
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 115
Points : 45
Points : 45
Envoyer un message via AIM à Arvulis
Par défaut Procedure MySQL 5.0 impossible depuis PhpMyAdmin ?

Bonjour à tous, j'ai une version de mysql 5.0.22;

J'essaye de creer des procedure simple, celà fonctionne...

Je teste des exemple avec DECLARE et là j'ai apparement un probleme de syntaxe OR j'utilise des exemples du manuel tres simple comme :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE PROCEDURE visibilite()
BEGIN
    DECLARE var INT DEFAULT 1;
        SELECT var AS 'Je suis la variable var du bloc 1';
 
        BEGIN
             DECLARE var INT DEFAULT 5;
                 SELECT var AS 'Je suis la variable du bloc 2';
                 SET var=10;
                 SELECT var AS 'Je suis la variable du bloc après modification';
        END;
        SELECT var AS 'Je suis toujours la variable du bloc 1';
END;
En fait, dès que je met un DECLARE j'ai cette erreur :

Code :
1
2
#1064 - Erreur de syntaxe pr�s de 'PROCEDURE visibilite()
BEGIN
sur mon easyphp local

ou

Code :
1
2
3
4
5
6
7
 
CREATE PROCEDURE maj( )  
BEGIN 
DECLARE a INT; 
(...)
 
#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 'INT' at line 4
sur mon serveur..
Arvulis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 10h37   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Salut,

Pour autant que je sache sous PHPMyAdmin les procédures ne sont pas supportées. En tout cas elle ne l'étaient pas il y a peu, tu peux vérifier sur leur site quand il sera plus en rade

Et en ligne de commande, il faut redéfinir le délimiteur pour que l'interpréteur ne confonde pas le point-virgule de fin de ligne et le point-virgule de fin d'instruction dans une procédure stockée.

Cf http://maximilian.developpez.com/mys...l5/#LA%20-%202
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 11h34   #3
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Normalement phpmyadmin le gère du moin il y a pas de souci pour l'écrire par contre il n'est pas possible de l'éditer ou de le voir dans une liste. Pour cela il faut consulter le base schema. L'erreur qui ta été retourné n'est pas de phpmyadmin mais de Mysql donc c'est qu'il y a bien une erreur de syntaxe.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 12h03   #4
Membre du Club
 
Avatar de Arvulis
 
Inscription : septembre 2003
Messages : 115
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 115
Points : 45
Points : 45
Envoyer un message via AIM à Arvulis
Je te remercie l'ami ! Je vais voir ça !
Arvulis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 12h14   #5
Membre du Club
 
Avatar de Arvulis
 
Inscription : septembre 2003
Messages : 115
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 115
Points : 45
Points : 45
Envoyer un message via AIM à Arvulis
En fait, c 'est un probleme de délimiteur si j'en met ou pas, il fait une erreur !! grrr Mais je peu pas le changer sous PhpmyAdmin
Arvulis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 13h25   #6
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Citation:
Envoyé par Arvulis
En fait, c 'est un probleme de délimiteur si j'en met ou pas, il fait une erreur !! grrr Mais je peu pas le changer sous PhpmyAdmin
Quand j'ai créé mon trigger via phpmyadmin je ne me suis pas occupé des délimiteurs.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 13h35   #7
Membre du Club
 
Avatar de Arvulis
 
Inscription : septembre 2003
Messages : 115
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 115
Points : 45
Points : 45
Envoyer un message via AIM à Arvulis
Citation:
Envoyé par berceker united
Quand j'ai créé mon trigger via phpmyadmin je ne me suis pas occupé des délimiteurs.

Les triggers fonctionnent par contre.

C'est juste les Procedure.. avec les DECLARE.
Arvulis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 13h42   #8
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Citation:
Envoyé par Arvulis
Les triggers fonctionnent par contre.

C'est juste les Procedure.. avec les DECLARE.
Il est préférable alors d'utiliser un autre client plus adapter telle que EMS qui lui gère les triggers, procedure etc. Par contre c'est pas gratuit.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 17h38   #9
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
Sinon il y a QueryBrowser qui permet (en plus d'administrer la base et de tester des requêtes) de créer des procédures/fonctions. Et c'est gratuit et officiel.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2006, 17h51   #10
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Ha ben c'est cool ça Personnellement j'utilise celle de Zend Studio.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united 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 08h42.


 
 
 
 
Partenaires

Hébergement Web