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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
SQL> edit
Wrote file afiedt.buf
1 create or replace procedure traitement( date1 varchar2,date2 varchar2)
2 as
3 begin
4 for rec_date in (
5 SELECT TO_DATE (date1, 'DD/MM/YYYY') +num date_fin
6 FROM
7 (SELECT LEVEL -1 num
8 FROM (SELECT 1
9 FROM DUAL)
10 CONNECT BY LEVEL <= TO_DATE (date2, 'DD/MM/YYYY') - TO_DATE (date1, 'DD/MM/YYYY')+1))
11 loop
12 dbms_output.put_line(rec_date.date_fin);
-- tu rajoutes l'appel à ta procédure
-- TEST(rec_date.date_fin);
13 end loop;
14* end ;
SQL> /
Procedure created.
SQL> exec traitement('01/01/2008','31/03/2008');
01-JAN-08
02-JAN-08
03-JAN-08
04-JAN-08
05-JAN-08
06-JAN-08
07-JAN-08
08-JAN-08
09-JAN-08
10-JAN-08
11-JAN-08
12-JAN-08
13-JAN-08
14-JAN-08
15-JAN-08
16-JAN-08
17-JAN-08
18-JAN-08
19-JAN-08
20-JAN-08
21-JAN-08
22-JAN-08
23-JAN-08
24-JAN-08
25-JAN-08
26-JAN-08
27-JAN-08
28-JAN-08
29-JAN-08
30-JAN-08
31-JAN-08
01-FEB-08
02-FEB-08
03-FEB-08
04-FEB-08
05-FEB-08
06-FEB-08
07-FEB-08
08-FEB-08
09-FEB-08
10-FEB-08
11-FEB-08
12-FEB-08
13-FEB-08
14-FEB-08
15-FEB-08
16-FEB-08
17-FEB-08
18-FEB-08
19-FEB-08
20-FEB-08
21-FEB-08
22-FEB-08
23-FEB-08
24-FEB-08
25-FEB-08
26-FEB-08
27-FEB-08
28-FEB-08
29-FEB-08
01-MAR-08
02-MAR-08
03-MAR-08
04-MAR-08
05-MAR-08
06-MAR-08
07-MAR-08
08-MAR-08
09-MAR-08
10-MAR-08
11-MAR-08
12-MAR-08
13-MAR-08
14-MAR-08
15-MAR-08
16-MAR-08
17-MAR-08
18-MAR-08
19-MAR-08
20-MAR-08
21-MAR-08
22-MAR-08
23-MAR-08
24-MAR-08
25-MAR-08
26-MAR-08
27-MAR-08
28-MAR-08
29-MAR-08
30-MAR-08
31-MAR-08
PL/SQL procedure successfully completed. |