您的位置:首页 > 数据库 > Oracle

oracle循环语句小结

2015-06-28 14:23 465 查看
主要有以下五种循环: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,插入几条数据,进行测试即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle cursor 存储