I need to write a report that generates summary totals against a table with date ranges for each record.
table data:
option start_date end_date
opt1
Using while loop (better)
declare
dfrom date;
dtill date;
day date;
begin
dfrom := TO_DATE('09.09.1988', 'dd.mm.yyyy');
dtill := TO_DATE('19.09.1988', 'dd.mm.yyyy');
day := dfrom;
WHILE day <= dtill
LOOP
DBMS_OUTPUT.PUT_LINE(day);
day := day + 1;
END LOOP;
end;
/
//using cursor
declare
dfrom date;
dtill date;
begin
dfrom := TO_DATE('09.09.1988', 'dd.mm.yyyy');
dtill := TO_DATE('19.09.1988', 'dd.mm.yyyy');
FOR cur IN (
SELECT dfrom + LEVEL - 1 AS today
FROM dual
CONNECT BY LEVEL <= dtill - dfrom + 1
) LOOP
DBMS_OUTPUT.PUT_LINE(cur.today);
END LOOP;
end;
/