DROP PROCEDURE `proc_calendrier`;
CREATE DEFINER=`adminweb`@`localhost` PROCEDURE `proc_calendrier`(IN `nb` INT, OUT `dernier_jour` DATE) NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY DEFINER BEGIN
# déclaration des variables locales
declare compteur int;
declare date_jour date;
DECLARE sauve_derniere date;
# on peut vider le calendrier (faculatif-pour éviter les doublons pendant la démo)
DELETE FROM calendrier;
# démarrage du traitement
# initialisation du compteur
SET compteur = 0;
WHILE compteur < nb 
DO
	# affectation de date_jour en fonction de la date courante et du compteur
	SET date_jour = date_add(CURRENT_DATE(), INTERVAL compteur DAY);
    # on insère la date créée dans le calendrier
    INSERT INTO calendrier(jours) VALUES (date_jour);
    # sauvegarde de la date
    SET sauve_derniere = date_jour;
    SET compteur = compteur + 1;
END WHILE; 
# mise en forme du paramètre de sortie
set dernier_jour = DATE_FORMAT(sauve_derniere,"%y-%m-%d");
END