This is a simple while loop example to loop a date variable in oracle pl/sql :
SET SERVEROUTPUT ON;
DECLARE
V_COUNTER NUMBER;
V_DATEEND DATE := '12-JUL-18';
V_CURRDATE DATE;
BEGIN
V_CURRDATE := '01-JUL-18';
WHILE V_CURRDATE <= V_DATEEND LOOP
DBMS_OUTPUT.PUT_LINE('TODAY IS ' || V_CURRDATE);
V_CURRDATE := V_CURRDATE + 1;
END LOOP;
END;
/
In the above example we loop V_CURRDATE variable when the value is less or equals V_DATEEND. It will loop until 12-jul-18.
And the result will be something like this :
TODAY IS 01-JUL-18
TODAY IS 02-JUL-18
TODAY IS 03-JUL-18
TODAY IS 04-JUL-18
TODAY IS 05-JUL-18
TODAY IS 06-JUL-18
TODAY IS 07-JUL-18
TODAY IS 08-JUL-18
TODAY IS 09-JUL-18
TODAY IS 10-JUL-18
TODAY IS 11-JUL-18
TODAY IS 12-JUL-18