主要有以下五種迴圈: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,插入幾條資料,進行測試即可。 |