One of the statement in oracle I use most is
for loop in pl/sql. This for loop is very handy to use and the basic statement comes like this:
for variable in 1..x
loop
statement;
end loop;
The reverse loop statement is:
for variable in reverse 1..x
loop
statement;
end loop;
The example code comes like this
for v_cnt in 1 .. 100
loop
insert into table_x (pk, text) values (v_cnt, 'count_' || v_cnt);
end loop;
for v_cnt in reverse 1 .. 100
loop
insert into table_x (pk, text) values (v_cnt, 'count_' || v_cnt);
end loop;
For in pl/sql could also work with cursor, this make handy as I said before. I like to use for loop in pl/sql with cursor so I don't have open and close the cursor, the for loop will do it automatically. Here is how for loop in pl/sql works:
for
c_cur in (
select statement)
loop
statement;
end loop;
for
c_cur in
c_name
loop
statement;
end loop;
Where
c_name is the declared cursor and
c_cur is the variable
(you don't need to declare it).
For example:
for c_cur in (select a, b from tab_x)
loop
insert into tab_y values(c_cur.a, c_cur.b);
end loop;
for c_cur in declared_cursor
loop
insert into tab_y values(c_cur.a, c_cur.b);
end loop;