oracle 游标例子不同的 打开方式 -判断最后一条记录

本文介绍了Oracle中游标的多种打开方式,包括无参数游标、带参数游标的使用,以及如何在循环中判断是否到达游标的最后一条记录。示例代码展示了如何更新数据并进行提交,以及通过ref cursor类型处理游标。
摘要由CSDN通过智能技术生成


--1 显示游标

declare

cursor v_sc1 is
select sendnum,registedate  from user_info t for update of t.userlevel,nicheng nowait; --of 后面可以多个变量
n_level number;
n_sendnum number;
d_registedate date;
begin
  n_level:=0;
  open v_sc1;   
   loop
    fetch v_sc1 into n_sendnum, d_registedate,n_id;
        exit when v_sc1%notfound;  --一定要有
      if (n_sendnum>0) and (n_sendnum<=100) and (d_registedate<add_months(sysdate,-3))then
            n_level :=1;      
         else    
            n_level :=3;
      end if;
      update user_info set userlevel = n_level where current of v_sc1;  --更新数据 只更新当前数据;不用再次执行全表扫描
    end loop;
   end;

/

--2 带参数的游标

declare
cursor c_test(pid_1 number,pid_2 number

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值