oracle游标中可以定义变量

2008/03/07
skate

游标中可以定义变量,下面是一个例子,关于我更新栏目排序的procedure

create or replace
PROCEDURE TEST AS
-- v_id varchar2;
-- v_num number;
-- v_x number;
 i number(10,0) :=1;
 
  v_id varchar2(32);
 v_num number(10,0);
 v_x number(10,0);
 
 
   cursor cur_ids is
       select id,sum from (
        select count(id) sum,id  from m_category_t where ORDERNUMBER = 0 group by id)
        where sum >1;
 
  cursor cur_ids1 is
     select categoryid from  m_category_t  where id=v_id;
        
begin
  open cur_ids;
  loop
    fetch cur_ids into v_id,v_num;
    exit when cur_ids%notfound;
     
        open cur_ids1;
        loop
         fetch cur_ids1 into v_x;
         exit when cur_ids1%notfound;
          
               update m_category_t set ORDERNUMBER=i where categoryid=v_x;
               i:=i+1;
        end loop;
        close cur_ids1;
        i:=1;
  end loop;
  close cur_ids;
END TEST;


--  end  --

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值