oracle的高阶使用【3】游标

游标是一个指针,指向的是Oracle的缓冲区或内存区。它包括显式游标以及隐式游标。用户定义的游标就称为显式游标,需要手动声明、打开、关闭,主要针对查询操作。Oracle自动管理的游标是隐式游标,不用声明、打开或关闭,主要针对增删改操作。

1、系统、软件和约束条件

  • win10
  • oracle11g
  • sql developer

2、显式游标操作

  • 1 loop方式使用游标
declare
  cursor cur_demo is select * from dept; --声明一个游标
  v_dept dept%rowtype; --声明一个dept的类型变量
begin
  open cur_demo; --打开游标
  loop --循环开始
    fetch cur_demo into v_dept;
    dbms_output.put_line(v_dept.deptno||','||v_dept.dname||','||v_dept.loc);
    exit when cur_demo%notfound;
  end loop; --循环结束
  close cur_demo;--关闭游标
end;
  • 2 for方式使用游标
declare
  cursor cur_demo1 is select * from dept;
begin
  for v_dept in cur_demo1
  loop
    dbms_output.put_line(v_dept.deptno||','||v_dept.dname||','||v_dept.loc);
  end loop;
end;

3、隐式游标操作

  • 1 更新指定等级的最高工资,如果未更新任何数据,则插入对应的等级信息
begin
  update salgrade set hisal=20000 where grade=7;
  if SQL%notfound then
    insert into salgrade values (7,10000,20000);
    dbms_output.put_line(SQL%rowcount);
  else
    dbms_output.put_line(SQL%rowcount);
  end if;
end;

以上就是oracle当中游标的用法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值