Bonjour,
Problème d'erreur :
#1328 Incorrect number of FETCH variables

J'utilise une procédure stockée pour mettre à jour une table (parent) Clients à l'aide du champ règlement de la table (enfant) Commandes.
La clé secondaire porte sur le champ clientId.
Pour se faire voici le 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
DELIMITER $$
 
DROP PROCEDURE IF EXISTS `et1050_1`.`SoldeClients` $$
CREATE PROCEDURE `et1050_1`.`SoldeClients` ()
BEGIN
 
  DECLARE V_d DECIMAL(6,2);
  DECLARE V_m MEDIUMINT;
  DECLARE  V_f BOOLEAN DEFAULT FALSE;
 
  DECLARE bob CURSOR FOR
    SELECT SUM(`Règlement`),`clientId`  FROM `Commandes` GROUP BY `clientId`;
 
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET V_f = TRUE;
 
  OPEN bob;
  FETCH bob INTO V_d, V_m;
  WHILE (NOT V_f) DO
    UPDATE `Clients` SET `CAttc`=V_d where `idClients`=V_m;
    FETCH bob into V_d;
  END WHILE;
  CLOSE bob;
 
END $$
 
DELIMITER ;
Il y a bien deux variables pour le FETCH et c'est précisément ce qui ne plait pas à MySQL. Pourtant, le manuel de référence pratique ce système à deux variables. Voir :
http://dev.mysql.com/doc/refman/5.0/fr/cursors.html

Pourriez-vous me guider ?
Merci !