oracle 循環語句總結

搞了快一個月的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

相關文章
相關標籤/搜索