This is a quick comparison between the “For Loop” in oracle database 21c and pre Oracle 21c.
In Oracle Database 19c:
set serveroutput on
declare
i number(5,1);
begin
for i in 1 .. 5
loop
dbms_output.put_line (i);
end loop;
End;
/

In Oracle Database 21c:
set serveroutput on
begin
for i number(5,1) in 1 .. 6 by 2, reverse 7 .. 14 by 2, 15 .. 20 by 2
loop
dbms_output.put_line (i);
end loop;
End;
/

Notice that you can declare the variable “i” inline + you can specify a step value and multiple ranges.
Regards
Ahmed