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 :

Erreur de syntaxe procédure stockée [MySQL-5.6]


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut Erreur de syntaxe procédure stockée
    Bonjour,

    J'ai tenté d'écrire ma première procédure stockée (sous Navicat for MySql), mais j'ai une erreur de syntaxe que je n'arrive pas à trouver. Dans la partie BEGIN END voici ce que j'ai écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    BEGIN
    	DECLARE dateC DATE;
    	SET dateC = `dateDeb`;
    	WHILE dateC <= `dateFin` DO
    		INSERT INTO t_disponibilites_disp (DISP_CODE_INTERV,DISP_DATE_INDISP) VALUES (`intervenantId`,dateC);
    		SET dateC = DATE_ADD(dateC,INTERVAL 1 DAY);
    	END WHILE;
    END
    Voilà le code que génère le logiciel avec les paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `intervenantId` varchar,IN `dateDeb` date,IN `dateFin` date)
        MODIFIES SQL DATA
    BEGIN
    	DECLARE dateC DATE;
    	SET dateC = `dateDeb`;
    	WHILE dateC <= `dateFin` DO
    		INSERT INTO t_disponibilites_disp (DISP_CODE_INTERV,DISP_DATE_INDISP) VALUES (`intervenantId`,dateC);
    		SET dateC = DATE_ADD(dateC,INTERVAL 1 DAY);
    	END WHILE;
    END;
    Il rajoute un ";" à la fin, je ne sais pas pourquoi... L'erreur est détectée en ligne 1 donc à priori il y a des erreurs avant....

    C'est peut être évident mais je ne vois pas.

    Merci d'avance pour votre aide.

  2. #2
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut
    J'ai finalement résolu mon problème en redéfinissant ma procédure du début dans Navicat. Peut être interprétait-il mal les paramètres? Mystère....
    Voici le code qui n'a guère bougé dans sa syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BEGIN
    	DECLARE dateC DATE;
    	SET dateC = `dateDeb`;
    	WHILE dateC <= `dateFin` DO
    		INSERT INTO t_disponibilites_disp (DISP_CODE_INTERV,DISP_DATE_INDISP,DISP_MOTIF_INDISP) VALUES (`intervenantID`,dateC,`motif`)
    		ON DUPLICATE KEY UPDATE DISP_MOTIF_INDISP=`motif`;
    		SET dateC = DATE_ADD(dateC,INTERVAL 1 DAY);
    	END WHILE;
    END

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

Discussions similaires

  1. Renvoyer une erreur dans une procédure stockée
    Par SLt dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 18/04/2007, 18h41
  2. [PEAR][MDB2] Erreur avec une procédure stockée
    Par mikedavem dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/01/2007, 16h49
  3. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06
  4. Réponses: 4
    Dernier message: 14/06/2004, 16h18
  5. syntaxe procédure stockée
    Par KRis dans le forum SQL
    Réponses: 4
    Dernier message: 06/05/2004, 18h04

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