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 syntaxe procedure stockée


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 61
    Points : 43
    Points
    43
    Par défaut erreur syntaxe procedure stockée
    Bonjour à tous, j'ai une erreur de syntaxe lors de la création d'une procédure stockée que je ne comprend pas vraiment. Pouvez-vous m'éclairer.

    Ma procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    CREATE PROCEDURE curdemo()
    BEGIN
      DECLARE done INT DEFAULT 0;
      DECLARE a, d VARCHAR(30);
      DECLARE cur1 CURSOR FOR SELECT action_id, das_id FROM action;
      DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
     
      OPEN cur1;
     
      REPEAT
        FETCH cur1 INTO a, d;
        IF NOT done THEN
           IF d='das1' THEN
              UPDATE action SET das_id='das0' WHERE action_id=a;
           END IF;
        END IF;
      UNTIL done END REPEAT;
     
      CLOSE cur1;
    END
    L'erreur obtenue au moment de l'exécution :
    Error

    SQL query:

    CREATE PROCEDURE curdemo( ) BEGIN DECLARE done INT DEFAULT 0;

    MySQL said: Documentation
    #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 'INT DEFAULT 0' at line 3
    Lorsque je me contente de créer la procédure sans rien comme ci-dessous, elle se créée sans problèmes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE PROCEDURE curdemo()
    BEGIN
    END
    Ma syntaxe a été copier l'aide pour les curseurs de la documentation MySql pour versions 5.0. J'avoue être un peu perdue.
    Version Mysql 5.0.45
    Merci d'avance pour votre aide

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 922
    Points : 6 038
    Points
    6 038
    Par défaut
    Tu utilises un outil pour soumettre ce script ?

    Car ça pourrait être un problème lié au DELIMITER...

  3. #3
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    J'utilise l'outil de soumission de requêtes SQL de phpMyadmin

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 922
    Points : 6 038
    Points
    6 038
    Par défaut
    Inspire toi de ce thread : http://www.developpez.net/forums/d56...e/#post3372689

    Il me semble aussi que cet outil permet de spécifier/changer le delimiter, mais je ne sais plus où...

  5. #5
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Ok je vais aller regarder merci

  6. #6
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Le problème venait en effet bien du DELIMITER.

    Merci beaucoup

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

Discussions similaires

  1. Erreur de Syntaxe Procedure Stockée
    Par lito74 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 17/10/2012, 12h34
  2. problème de syntaxe (procedures stockées)
    Par diamentelle dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/02/2009, 01h15
  3. Erreur dans procedure stockées
    Par freud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/07/2007, 11h13
  4. Erreur creation procedure stockées (Firebird1.5+delphi 7)
    Par nassoft dans le forum Bases de données
    Réponses: 3
    Dernier message: 18/05/2007, 12h30
  5. problème de syntaxe procedure stockée
    Par chti_juanito dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2007, 15h03

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