ORACLE——游标

显式游标

实例1

/*简单cursor游标 
*students表里面有name字段,你可以换做其他表测试 
*/
--定义 
DECLARE
  --定义游标并且赋值(is 不能和cursor分开使用) 
  CURSOR STUS_CUR IS
    SELECT * FROM hr.employees;
  --定义rowtype 
  STUDENTS STUS_CUR%ROWTYPE;
  /*开始执行*/
BEGIN
  --开启游标 
  OPEN STUS_CUR;
  --loop循环 
  LOOP
    --循环条件 
    EXIT WHEN STUS_CUR%NOTFOUND;
    --游标值赋值到rowtype 
    FETCH STUS_CUR
      INTO STUDENTS;
    --输出 
    DBMS_OUTPUT.PUT_LINE(STUDENTS.LAST_NAME);
    --结束循环 
  END LOOP;
  --关闭游标 
  CLOSE STUS_CUR;
  /*结束执行*/
END;

实例2

DECLARE
  CURSOR LR_NUM IS --定义一个游标,名为:lr_num
    SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= 5; --这段查询即为游标lr_num的具体内容
  V_NUM LR_NUM%ROWTYPE; --定义一个变量v_num,数据类型为游标 lr_num 的 %ROWTYPE,即lr_num的一行
BEGIN
  OPEN LR_NUM; --打开游标lr_num
  LOOP
    --开始循环
    FETCH LR_NUM
      INTO V_NUM; --把游标 lr_num 中的next一行数据 into 到变量 v_num 中
    EXIT WHEN LR_NUM%NOTFOUND; --如果 lr_num 中找不到next一行数据,即退出循环
    DBMS_OUTPUT.PUT_LINE(V_NUM.LV); --输出 v_num 变量中的 lv 字段的值
  END LOOP; --结束循环
  CLOSE LR_NUM; --关闭游标
END;
/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值