Oracle’da başlangıç ve bitiş tarihleri verip, bir loop yapmak istenirse CONNECT BY LEVEL yapısı kullanılabilir.
By declaring start and end end you can make a loop with CONNECT BY LEVEL clause.
DECLARE v_start DATE := TO_DATE('23.01.2021','DD.MM.YYYY'); v_end DATE := TO_DATE('03.02.2021','DD.MM.YYYY'); v_date DATE; CURSOR c_dates IS SELECT v_start+LEVEL-1 AS dates FROM sys.dual CONNECT BY LEVEL <= v_end-v_start+1; BEGIN OPEN c_dates; LOOP FETCH c_dates INTO v_date; EXIT WHEN c_dates%NOTFOUND; DBMS_OUTPUT.PUT_LINE(v_date); END LOOP; CLOSE c_dates; END;
Sonuçları dbms_output.putline ile ekrana yazdırdım: