creation d'une procedure ou fonction toute simple?
Bonjour,
Apres plusieurs recherche sur le forum, je n'ai pas trouvé de sujet correpondant a ma question.
Je me permet donc de vous la poser.
Je viens d'installer mysql5 (5.0.15-standard) pour pouvoir utiliser les procedures stocké et surtout les fonctions.
Mais voila, j'essais d'en creer une pour tester par l'intermediaire de phpmyadmin mais cela me revoit une erreur.
J'ai pris cette exemple dans la doc de mysql:
Code:
1 2 3 4
| CREATE PROCEDURE simpleproc (OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM t;
END |
J'ai donc juste fais un copier coller dans le textarea "sql" de phpmyadmin.
Une fois executé, mysql me renvoit cette erreur:
Code:
#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 'SELECT COUNT(*) INTO param1 FROM t' at line 3
Et quand il me réaffiche la requete que je lui ai envoyé, il me l'a formaté de cette maniere:
Code:
1 2 3
| CREATE PROCEDURE simpleproc( OUT param1 INT ) BEGIN SELECT COUNT( * )
INTO param1
FROM t |
Il m'a enlevé mon retour ligne avant le BEGIN.
Je pensais que ca serait ca le probleme...
J'ai fais pas mal de test en vain pour le moment.
Une derriere chose que je trouce bizarre: quand j'essaye d'utiliser la commande "delimiter", il me renvoit aussi une erreur:
Code:
#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 'delimiter $$' at line 1
Ai-je ratté quelque chose?
merci et bonne journée a vous. :roll:
EDIT: Celle ci que j'ai aussi pris dans la doc marche tres bien:
Code:
1 2
| CREATE FUNCTION bonjour (s CHAR(20)) RETURNS CHAR(50)
RETURN CONCAT('Bonjour, ',s,'!'); |
Qu'a t'elle que les autres n'ont pas ?
Re: creation d'une procedure ou fonction toute simple?
Citation:
Envoyé par atlas2003
Qu'a t'elle que les autres n'ont pas ?
Elle tient en une seule ligne donc pas besoin de redéfinir le délimiteur, le point-virgule final suffit ;)
Je ne sais pas si PHPMyAdmin gère les fonctionnalités de MySQL 5.0... Essaie plutôt avec le client en ligne de commande ou un client graphique comme Query Brower.
Voir aussi http://maximilian.developpez.com/mys...veautes_mysql5
Re: creation d'une procedure ou fonction toute simple?
Citation:
Elle tient en une seule ligne donc pas besoin de redéfinir le délimiteur, le point-virgule final suffit ;)
Je ne sais pas si PHPMyAdmin gère les fonctionnalités de MySQL 5.0... Essaie plutôt avec le client en ligne de commande ou un client graphique comme Query Brower.
Voir aussi
http://maximilian.developpez.com/mys...veautes_mysql5
Exact, je viens d'essayer avec Navicat 2004 et cela fonctionne tres bien. Pourtant le dernier phpmyadmin est compatible avec mysql 5.0 donc je pensais aussi qu'il gerait les procedures stockés
Merci![/quote]