Bonjour

Je souhaite utiliser une fonctions (procStock) pour me remplir une colonne de table à partir d'une autre. cf code ci-dessous.
Le soucis que je rencontre est que la dernière valeur est repétée 2 fois, comme si le repeat était fait à nouveau avec la dernière valeur.

Qq'un a-t-il eu ce soucis?
Merci.

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
29
30
 
DELIMITER $$
 
DROP FUNCTION IF EXISTS `hello` $$
CREATE FUNCTION hello (pId int)
RETURNS CHAR(50) DETERMINISTIC
 
BEGIN
  DECLARE done,nb INT DEFAULT 0;
  DECLARE col VARCHAR(50) DEFAULT '';
  DECLARE curs CURSOR FOR select id FROM MaTable WHERE id=pId;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1 ;
 
  OPEN curs;
 
  REPEAT
    FETCH curs INTO col;
 
      insert into tmp VALUES(col);
 
  UNTIL done END REPEAT;
 
  CLOSE curs;
 
  RETURN cols;
 
  END $$
 
 
DELIMITER ;