搞了快一個月的oracle了,天天在谷歌+百度的大力搜索支持下,稍微學會了一點點。
今天下班作個小結:
主要有如下五種循環:ExitWhen、Loop、While、For(普通循環)、For(遊標循環),下面舉例一一說明(均爲存儲過程)。sql
一、ExitWhen循環:oracle
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;
二、Loop循環:ide
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;
三、While循環:oop
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;
四、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;
五、For遊標循環:spa
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;
上面所示爲存儲過程相應代碼,你能夠經過以下方式進行測試:orm
進入pl/sql,執行文件->新建->程序窗口->空白,拷貝以上各段代碼,到pl/sql空白窗口中,安F8執行編譯。server
再執行文件->新建->命令窗口進入命令窗口執行一下setserveroutputon這句代碼,而後,輸入exec相應存儲過程,ok。ci
第5中循環要求新建一個名爲test的表字段id、name,插入幾條數據,進行測試便可。it