Oracle中主要有以下五种循环——Exit When、Loop、While、For(普通循环)、For(游标循环):
1、Exit When循环:
create or replace procedure proc_test_exit_when is
i number;
begin
i := 0;
LOOP
Exit When(i > 5);
Dbms_Output.put_line(i);
i := i + 1;
END LOOP;
end proc_test_exit_when;
2、Loop循环:
create or replace procedure proc_test_loop is
i number;
begin
i := 0;
loop
i := i + 1;
dbms_output.put_line(i);
if i > 5 then
exit;
end if;
end loop;
end proc_test_loop;
3、While循环:
create or replace procedure proc_test_while is
i number;
begin
i := 0;
while i < 5 loop
i := i + 1;
dbms_output.put_line(i);
end loop;
end proc_test_while;
4、For普通循环:
create or replace procedure proc_test_for is
i number;
begin
i:=0;
for i in 1..5 loop
dbms_output.put_line(i);
end loop;
end proc_test_for;
5、For游标循环:
create or replace procedure proc_test_cursor is
userRow test%rowtype;
cursor userRows is
select * from test;
begin
for userRow in userRows loop
dbms_output.put_line(userRow.id || ’,
'||userRow.Name||’,' || userRows%rowcount);
end loop;
end proc_test_cursor;
上面所示为存储过程相应代码,可以通过如下方式进行测试:
进入pl/sql, 执行 文件->新建->程序窗口->空白,拷贝以上各段代码,到pl/sql空白窗口中,安F8执行编译。
再执行 文件->新建->命令窗口 进入命令窗口 执行一下 set serveroutput on 这句代码,然后,输入exec 相应存储过程,ok。
5中循环需要新建一个名为test的表,字段 id、name,插入几条数据,进行测试即可。