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 :

Mon curseur ne me retourne qu'une valeur


Sujet :

SQL Procédural MySQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut Mon curseur ne me retourne qu'une valeur
    Bonjour à tous,
    J'essaie de faire une procédure qui devrait me retourner plusieurs lignes, je l'ai écrite comme je l'aurais fait avec sqlserver à 2 - 3 petits trucs près.

    Or, au moment de l'appel de la procédure, elle ne me retourne qu'un enregistrement, je merde quelque-part soit au niveau du soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
    Voici la procédure stockée :
    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
     
    DELIMITER //
    CREATE DEFINER=`root`@`localhost` PROCEDURE `calculBudget`(p_idUtilisateur INT)
    BEGIN
     
    	DECLARE montant DECIMAL(9,2);
    	DECLARE done INT DEFAULT 0;
    	DECLARE i_idBudget INTEGER;
    	DECLARE i_montantBudget DECIMAL(9,2);			
    	DECLARE cur1 CURSOR FOR SELECT idBudget,montantBudget  FROM budget WHERE idUtilisateur = p_idUtilisateur;
    	DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
     
    	SET montant = 0;
     
    	 OPEN cur1;
    		REPEAT
    		FETCH cur1 INTO i_idBudget, i_montantBudget;
    			SET montant = montant + i_montantBudget;
    			SELECT i_idBudget, i_montantBudget, montant;		
     
    		UNTIL done END REPEAT;
    	  CLOSE cur1;
    END//
    La table est très simple, voir la pj.

    Merci par avance
    Images attachées Images attachées  

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/04/2010, 15h45
  2. [VB.Net]Procédure Stocké retournant une valeur
    Par waldo2188 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/05/2005, 12h56
  3. Réponses: 7
    Dernier message: 15/03/2005, 14h44
  4. fonction retournant une valeur
    Par ryan dans le forum ASP
    Réponses: 4
    Dernier message: 06/09/2004, 17h45
  5. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37

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