主要有以下五種循環: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,插入幾條數據,進行測試即可。
本文出自 “gjhgkh” 博客,請務必保留此出處http://77857.blog.51cto.com/67857/419594