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 :

Problème de syntaxe dans une procédure


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Par défaut Problème de syntaxe dans une procédure
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE PROCEDURE dsql_example3(t_name VARCHAR(35))
    BEGIN
      SET @stmt_text=CONCAT("SELECT * FROM ", t_name);
      PREPARE stmt FROM @stmt_text;
      EXECUTE stmt;  
    END;

    ou bien meme plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE PROCEDURE exemple(IN param VARCHAR(10))
     BEGIN
         SELECT COUNT(*) FROM param;
     END;
    reponse

    MySQL a répondu:

    #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 '' at line 3
    je suis sous phpmyadmin

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 331
    Par défaut
    Ta syntaxe est correcte, vérifie seulement que tu as défini un délimiteur dans le champ délimiteur de phpmyadmin (exemple : $$), et que tu as ajouté ce délimiteur à la fin de ton ordre CREATE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE PROCEDURE exemple(IN param VARCHAR(10))
     BEGIN
         SELECT COUNT(*) FROM param;
     END;
    $$
    Rachid A.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Par défaut
    Remplace les " par '

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE PROCEDURE dsql_example3(t_name VARCHAR(35))
    BEGIN
      SET @stmt_text=CONCAT('SELECT * FROM ', t_name);
      PREPARE stmt FROM @stmt_text;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;
    END;

Discussions similaires

  1. problème de dynamisme dans une procédure
    Par sherdogvdb dans le forum Oracle
    Réponses: 3
    Dernier message: 07/03/2007, 11h43
  2. Réponses: 1
    Dernier message: 06/03/2007, 11h57
  3. Réponses: 1
    Dernier message: 20/07/2006, 17h03
  4. Réponses: 4
    Dernier message: 16/12/2005, 16h25
  5. Problème Alter view dans une procédure stockée
    Par adjava dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/07/2005, 17h45

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