1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `generer_code`(IN `p_montant` INT(11), OUT `p_numeroO` VARCHAR(100))
BEGIN
DECLARE numero VARCHAR (100) ;
DECLARE fin TINYINT DEFAULT 0;
DECLARE curs_carte CURSOR FOR SELECT numserie FROM carte WHERE montant= p_montant ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin = 1;
OPEN curs_carte;
-- verifier que le cuseur n'est vide
parcourir: LOOP
FETCH curs_carte INTO numero;
if fin=1 then
leave parcourir;
end if;
end LOOP parcourir;
set numero= p_numeroO;
CLOSE curs_carte;
END$$
DELIMITER; |
Partager