Salut à tous, svp c'est un peu urgent, j'ai beau essayer de changer ma procédure en fonction dans Mysql, sans aucun résultat.
Ma procédure marche parfaitement, elle crée deux tables temporaires puis enregistre et liste les journées de travail sans les weekends ou bien les weekends tout seuls. J'ai mis trois lignes de test en bas , merci d'avance.


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
31
32
33
34
35
36
37
38
39
40
 
 
DROP PROCEDURE IF EXISTS Proc_Days_sans_Weekends;
CREATE PROCEDURE Proc_Days_sans_Weekends(Start_date DATE, End_date DATE) 
BEGIN 
DECLARE Date_V1 DATE; 
SET Date_V1 = Start_date; 
DROP TABLE IF EXISTS Journee_de_travail; 
DROP TABLE IF EXISTS Journee_Weekends; 
CREATE TEMPORARY TABLE Journee_de_travail(Journee_Work date); 
CREATE TEMPORARY TABLE Journee_Weekends(Journee_OFF date); 
IF ( Start_date > End_date ) THEN 
SELECT "Invalid dates supplied"; 
END IF; 
WHILE Date_V1 <= End_date DO 
 
IF (DAYNAME(Date_V1) = 'Sunday' or  DAYNAME(Date_V1) = 'Saturday' )        THEN INSERT INTO Journee_Weekends VALUES(Date_V1); 
 
 
ELSE 
INSERT INTO Journee_de_travail VALUES(Date_V1); 
END IF; 
 
SET Date_V1 = DATE_ADD(Date_V1,INTERVAL 1 DAY); 
 
END WHILE; 
 
SELECT count(Journee_Work) AS _of_days_Taken FROM Journee_de_travail; 
END;
 
 
 
 
 
--Tests ( regardes sur l'image ) : 
CALL Proc_Days_sans_Weekends('2012-11-01','2012-12-30'); 
 
-- on peut afficher une table de weekends ou bien de journées de travail   ^^
select * from Journee_de_travail;
select * from Journee_Weekends;