Bonjour tt le monde!
J'ai créer un procedure stockée qui a comme param deux dates: une de début et autre de fin, qui remplie une table par toutes les dates (mois, trimestre, année, mois en lettre) se trouvant entre les deux passés comme param.
La création est réussite, mais lorsq je fait un call avec deux date( du format JJ/MM/AAAA) je reçois : "Query OK, 0 rows affected (0.00 sec)"
le code de la ps est :
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 CREATE PROCEDURE DATEDIM (p_start_date DATE, p_end_date DATE) BEGIN declare v_full_date DATE; declare v_month_full_name VARCHAR(10); declare v_month_number numeric(2); declare v_calendar_year numeric(4); declare v_quarter numeric(1); declare v_key numeric(5); DELETE FROM DATE_DIM; set v_full_date := p_start_date; set v_key:=1; WHILE v_full_date < p_end_date do set v_month_full_name := MONTHNAME(v_full_date); set v_month_number := MONTH(v_full_date); set v_calendar_year := YEAR(v_full_date); set v_quarter := QUARTER(v_full_date); INSERT INTO DATE_DIM (ID_DATE_DIM, MOIS_EN_LETTRES ,MOIS, TRIMESTRE, ANNEE ) VALUES (v_key,v_month_full_name ,v_month_number, v_quarter, v_calendar_year ); set v_full_date := adddate(v_full_date,INTERVAL 1 day); set v_key:=v_key+1; END WHILE; END;
Merci d'avance pr votre aide!![]()
Partager