Bonjour,
J'ai tenté d'écrire ma première procédure stockée (sous Navicat for MySql), mais j'ai une erreur de syntaxe que je n'arrive pas à trouver. Dans la partie BEGIN END voici ce que j'ai écritVoilà le code que génère le logiciel avec les paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 BEGIN DECLARE dateC DATE; SET dateC = `dateDeb`; WHILE dateC <= `dateFin` DO INSERT INTO t_disponibilites_disp (DISP_CODE_INTERV,DISP_DATE_INDISP) VALUES (`intervenantId`,dateC); SET dateC = DATE_ADD(dateC,INTERVAL 1 DAY); END WHILE; ENDIl rajoute un ";" à la fin, je ne sais pas pourquoi... L'erreur est détectée en ligne 1 donc à priori il y a des erreurs avant....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `intervenantId` varchar,IN `dateDeb` date,IN `dateFin` date) MODIFIES SQL DATA BEGIN DECLARE dateC DATE; SET dateC = `dateDeb`; WHILE dateC <= `dateFin` DO INSERT INTO t_disponibilites_disp (DISP_CODE_INTERV,DISP_DATE_INDISP) VALUES (`intervenantId`,dateC); SET dateC = DATE_ADD(dateC,INTERVAL 1 DAY); END WHILE; END;
C'est peut être évident mais je ne vois pas.
Merci d'avance pour votre aide.
Partager