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

【oracle游标二】游标循环方式

2016-12-27 22:45 246 查看
1、使用游标for循环

使用游标for循环是循环游标最简单的方法,oracle会隐含打开游标、循环提取数据、关闭游标,语法如下:
     for record_name  in cursor_name  loop

           ..........

     end loop;

如上所示:cursor_name是已经定义的游标名称,record_name是oracle隐含定义的记录变量(行记录数据)。

 当使用游标开发程序时,建议使用for循环,从而简化代码程序,示例如下:

declare
cursor temp_cursor is
select * from emp;
begin
for emp_record in temp_cursor loop
dbms_output.put_line('第' || temp_cursor%rowcount || '行数据:' ||
emp_record.empno || ':' || emp_record.ename || ':' ||
emp_record.job || ':' || emp_record.mgr || ':' ||
emp_record.hiredate || ':' || emp_record.sal || ':' ||
emp_record.comm || ':' || emp_record.deptno);
end loop;
end;


定义一个游标,循环输出emp表中的数据,结果如下:
第1行数据:7369:SMITH:CLERK:7902:17-12月-80:800::20
第2行数据:7499:ALLEN:SALESMAN:7698:20-2月 -81:1600:300:30
第3行数据:7521:WARD:SALESMAN:7698:22-2月 -81:1250:500:30
第4行数据:7566:JONES:MANAGER:7839:02-4月 -81:2975::20
第5行数据:7654:MARTIN:SALESMAN:7698:28-9月 -81:1250:1400:30
第6行数据:7698:BLAKE:MANAGER:7839:01-5月 -81:2850::30
第7行数据:7782:CLARK:MANAGER:7839:09-6月 -81:2450::10
第8行数据:7788:SCOTT:ANALYST:7566:19-4月 -87:3000::20
第9行数据:7839:KING:PRESIDENT::17-11月-81:5000::10
第10行数据:7844:TURNER:SALESMAN:7698:08-9月 -81:1500:0:30
第11行数据:7876:ADAMS:CLERK:7788:23-5月 -87:1100::20
第12行数据:7900:JAMES:CLERK:7698:03-12月-81:950::30
第13行数据:7902:FORD:ANALYST:7566:03-12月-81:3000::20
第14行数据:7934:MILLER:CLERK:7782:23-1月 -82:1300::10
注意temp_cursor%rowcount变量的定义;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 游标循环