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 :

Créer une procédure stockée sous MySQL avec phpmyadmin


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut Créer une procédure stockée sous MySQL avec phpmyadmin
    Bonjour à tous,

    Je cherche à créer une procédure stockée sous la dernière version de MySQL.

    La table utilisée est la suivante :

    proposition (NumProp, LibProp, #NumSond)

    ma procédure stockée est chargée de vérifier si le libprop passé en paramètre pour un numéro de sondage passé en paramètre existe et renvoie le libprop s'il existe.

    Voici la procédure que j'ai écrite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Create procedure exist_prop(lib_prop varchar(100),num_sond int, out exist int)
    BEGIN
    Select NumProp into exist
    From proposition
    Where NumSond=num_sond
    And LibProp=lib_prop;
    END
    Quand je l'exécute MySQL me renvoie :
    #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 NumProp
    From proposition
    Where NumSond=num_sond
    And LibProp=lib_prop' at line 3
    Est-ce que quelqu'un pourrait m'aider car je suis nul en procédure stockée surtout sous MySQL, j'ai dû faire une erreur dans la syntaxe quelque part

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il manque le délimiteur on dirait
    Quel outil tu utilises ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    J'utilise Phpmyadmin

  4. #4
    Invité
    Invité(e)
    Par défaut
    En me basant sur ton code et mes procédures stockées je te suggère d'essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DELIMITER $$
     
    DROP PROCEDURE IF EXISTS `exist_prop` $$
    CREATE DEFINER=`root`@`%` PROCEDURE `exist_prop`(lib_prop varchar(100),num_sond int, out exist int)
    BEGIN
    Select NumProp into exist
    From proposition
    Where NumSond=num_sond
    And LibProp=lib_prop;
    END $$
     
    DELIMITER ;
    Je l'ai testée avec mysql 5 depuis mysqlquerybrowser, et elle se crée.
    Dernière modification par ced ; 22/08/2011 à 18h30.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    merci, mais ça marche pas, MySQL me renvoie toujours la même erreur

  6. #6
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut
    Salut,

    j'utilise moi aussi phpMyAdmin et il me fait la même erreur quand je veut créer des triggers... Comme ce sont les nouveautés des dernières versions, serait-ce en rapport avec ça???

    Bon courage et j'espère que tu trouveras d'où ça vient
    champijulie

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Salut,
    En cherchant un peu sur Internet, j'ai vu que phpmyadmin ne supportait pas les delimiter, mais alors que faut-il faire?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Utiliser mysqlquerybrowser, ou créer un fichier script et le lancer, plutot que de le taper dans phpmyadmin. La 2eme solution, c'est juste une suggestion
    Dernière modification par ced ; 22/08/2011 à 18h31.

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    je te remercie pour ton aide mais pourrais-tu m'expliquer comment procéder pour créer un fichier script et le lancer s'il te plaît?

    Et sinon, où puis-je trouver mysqlquery?

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    merci beaucoup, j'ai réussi avec mysqlquery!

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 71
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Jordan59 Voir le message
    merci beaucoup, j'ai réussi avec mysqlquery!
    Moi j'ai plus simple, tu changes ton delimiteur directement dans la zone prévu à cet effet (juste en dessous de la zone de texte prévu pour écrire ton script sql), le tout sous phpmyadmin!!!!


  12. #12
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Petite précision pour la dernière proposition : ce champ n'existe que pour phpMyAdmin 2.10 + (pour toute version antérieure, c'est obligatoirement par la ligne de commande mysql)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/09/2009, 19h25
  2. [MySQL] Problèmes avec les procédures stockées sous mysql
    Par GoTrUnKo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/11/2008, 23h00
  3. Impossible de créer une procédure stockée sur MySQL: 5.0.38
    Par donbrico dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/11/2008, 19h30
  4. Appel d'une procédure stockée sous VB 6
    Par Polux000 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/01/2006, 10h21
  5. créer une procedure stockée sous delphi
    Par gudul dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/11/2004, 15h06

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