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 procédure Error Code: 1064


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Par défaut erreur procédure Error Code: 1064
    * Bonjour, *

    Voici mon code :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    DELIMITER $$
    CREATE
        /*[DEFINER = { user | CURRENT_USER }]*/
        PROCEDURE `ITR_DEV`.`somme_soldes_creancier`(OUT somme INT)
        /*LANGUAGE SQL
        | [NOT] DETERMINISTIC
        | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
        | SQL SECURITY { DEFINER | INVOKER }
        | COMMENT 'string'*/
        BEGIN
        DECLARE done INT DEFAULT 0;
        DECLARE m INT;
        DECLARE curseur1 CURSOR FOR SELECT dossier.solde_creancier FROM dossier;
        DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
     
     
        OPEN curseur1;
        REPEAT
            FETCH curseur1 INTO m;
            CASE WHEN NOT done THEN
                somme = somme + m;
            END;
        UNTIL done END REPEAT;
     
        CLOSE curseur1;
        END$$
     
    DELIMITER ;
    Je ne comprends pas d'où vient mon erreur, si quelqu'un pouvait m'aider

    * Merci *

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Sauf erreur de ma part, ce que vous cherchez à faire (la somme d'une colonne d'une table) peut se résumer en une (très) simple requête, qui sera surement beaucoup plus performante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT SUM(solde_creancier)
    FROM Dossier

  3. #3
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    aïeeeuuuuu a raison ton curseur ici peut être remplacer par la simple requête qu'il te donne... énormément plus performante...

    à priori je ne vois pas d'erreur de syntaxe mets nous le message complet d'erreur...
    je te conseille de toujours insérer un drop procedure if exists sur le procédure avant son create pour éliminer les erreurs lors de la recéation de celle-ci...

Discussions similaires

  1. Réponses: 21
    Dernier message: 21/08/2014, 06h52
  2. Réponses: 3
    Dernier message: 07/12/2011, 13h48
  3. Réponses: 2
    Dernier message: 15/09/2009, 08h40
  4. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 21h47
  5. [VB.NET] Erreur conversion de code c=>vb (opendialogfile)
    Par hirochirak dans le forum Windows Forms
    Réponses: 19
    Dernier message: 02/06/2004, 16h31

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