主要有以下五種迴圈: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」 部落格,請務必保留此出處
Oracle 預存中 的迴圈!
oracle 預存中 的迴圈!查詢資料表 a10中的 a10 c4,a10 c5 a10 c4 相同時將a10 c5 寫到乙個table表中的一格字段中 procedure sp a10 q6 stra10 1 sta varchar2,起始學年度 10 stra10 1 end varchar2,...
oracle 中退出迴圈的用法
declare i integer j integer begin i 1 j 1 for i in 1 10 loop 主迴圈 for j in 1 10 loop 次迴圈 exit main loop when i 2 if j 3 then exit 退出當前迴圈 end if if i 5 ...
Oracle中的loop迴圈的例子
oracle中的loop迴圈的例子 第一 loop.exit when.end loop sql declare temp salary employee.salary type temp emp employee rowtype cursor mycursor is select from emp...