Oracle游标的for循环

当使用游标for循环时,Oracle会隐含地打开游标,提取数据并关闭游标.

 

游标for循环的语法:

for record_name in cursor_name loop
  statement;
end loop;

 

实例1:查询所有员工的员工号,姓名和职位信息.

declare 
  cursor emp_cursor is select empno,ename,job from emp;
begin
  for emp_record in emp_cursor loop
    dbms_output.put_line('员工号:' || emp_record.empno || ',姓名:' || emp_record.ename || ',职位:' || emp_record.job);
  end loop;
end;

结果:

员工号:7369,姓名:SMITH,职位:CLERK
员工号:7499,姓名:ALLEN,职位:SALESMAN
员工号:7521,姓名:WARD,职位:SALESMAN
员工号:7566,姓名:JONES,职位:MANAGER
员工号:7654,姓名:MARTIN,职位:SALESMAN
员工号:7698,姓名:BLAKE,职位:MANAGER
员工号:7782,姓名:CLARK,职位:MANAGER
员工号:7788,姓名:SCOTT,职位:ANALYST
员工号:7839,姓名:KING,职位:PRESIDENT
员工号:7844,姓名:TURNER,职位:SALESMAN
员工号:7876,姓名:ADAMS,职位:CLERK
员工号:7900,姓名:JAMES,职位:CLERK
员工号:7902,姓名:FORD,职位:ANALYST
员工号:7934,姓名:MILLER,职位:CLERK
 

对于上面的sql语句,可以在游标for循环中直接引用子查询进行简化:

begin
  for emp_record in (select empno,ename,job from emp) loop
    dbms_output.put_line('员工号:' || emp_record.empno || ',姓名:' || emp_record.ename || ',职位:' || emp_record.job);
  end loop;
end;

输出结果和上面一样.

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值