IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

creation d'une procedure ou fonction toute simple?


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    #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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    #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.

    EDIT: Celle ci que j'ai aussi pris dans la doc marche tres bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut 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
    Pensez au bouton

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Re: creation d'une procedure ou fonction toute simple?
    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]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction toute simple incorrecte
    Par herroP dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/02/2013, 18h20
  2. Aucun return sur fonction toute simple
    Par Sanceray3 dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2010, 18h26
  3. inline d'une fonction tout simple LNK2001
    Par hpfx dans le forum Débuter
    Réponses: 1
    Dernier message: 26/04/2009, 23h00
  4. Réponses: 4
    Dernier message: 05/03/2009, 13h52
  5. Petite fonction toute simple, mais
    Par renaud26 dans le forum Général JavaScript
    Réponses: 46
    Dernier message: 21/07/2006, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo