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,插入几条数据,进行测试即可。
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,插入几条数据,进行测试即可。
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- Tomcat端口被占用解决方法(不用重启)
- 数据库自动备份脚本
- “传奇”图象数据存储方式
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析