Oracle之游标使用以及优缺点

 游标(cursor)能够根据查询条件从数据表中提取一组记录,将其作为一个临时表置于数据缓冲区中,利用指针逐行对记录数据进行操作。

举例带参数的显示游标:

如下是查询Oracle Scott下的emp表中empno为7788的姓名和工资。

declare
  cursor cur_emp(p_empno number) is
    select e.ename, e.sal from scott.emp e where emp.empno = p_empno; --声明游标
  v_empno emp.empno%type := 7788;
  v_ename emp.ename%type;
  v_sal   emp.sal%type;
begin
  open cur_emp(v_empno); --打开游标
  --循环取出
  loop                    --loop循环
    fetch cur_emp
      into v_ename, v_sal; --提取记录
    exit when cur_emp%notfound;--退出循环
    dbms_output.put_line(v_ename || '的工资是' || v_sal);
  end loop;
  close cur_emp; --关闭游标
  
end;

举例不带参数的显示游标:

如下是查询Oracle Scott下的emp表中empno为7788的姓名和工资。

 

declare
  cursor cur_emp is
    select e.ename, e.sal from scott.emp e where e.empno=7788 ; --声明游标
  v_ename emp.ename%type;
  v_sal   em
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值