加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长百科 > 正文

Oracle 游标使用全解

发布时间:2021-03-14 12:36:28 所属栏目:站长百科 来源:网络整理
导读:这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试。 -- 声明游标;CURSOR cursor_name IS select_statement -- For 循环游标 -- (1)定义游标 -- (2)定义游标变量 -- (3)使用for循环来使用这个游标 declare -- 类型定义 cursor c_job is se

另外,下面再附加一个我在项目中编写使用的一个PL/SQL程序块中使用游标的例子:

declare

  --cursor v_possvcfmv Is       select * from ttg_pos_svcfmv_mike order by id;

cursor v_possvcfmv Is
        SELECT m.id,m.status,m.PRODUCTID,decode(c.servicetermid,null,0,c.servicetermid) servicetermid,b.parano,m.tp,m.icv,b.paracode,m.l3direct,m.l3indirect,m.l2direct,m.l2indirect,m.l1indirect,m.privateprice
        FROM ttg_pos_svcfmv_mike m
        LEFT OUTER JOIN  (SELECT * FROM ttg_dictionary WHERE paraid = 75)b ON m.OFFERINGTYPE=b.paracode 
        LEFT   OUTER JOIN TTG_SERVICE_POSMAP c ON     m.productid = c.productid  AND    b.parano = c.OFFERINGID
        where m.status=‘1‘ and m.id in (2616,2617)
        order by m.id ;

s_row v_possvcfmv%rowtype;
begin

      open v_possvcfmv;
           fetch v_possvcfmv into s_row;
           while v_possvcfmv%found loop
               
               /*
               SPA_POSSVCFMV(s_row.productid,s_row.servicetermid,s_row.parano,s_row.tp,s_row.icv,s_row.paracode,‘‘,s_row.l3direct,‘1‘,s_row.l3indirect,s_row.l2direct,s_row.l2indirect,s_row.l1indirect,s_row.privateprice,‘999999999‘);

               update ttg_pos_svcfmv_mike set status=‘1‘ where id=s_row.id;
*/

               a_jack_Test(‘SPA_POSSVCFMV(‘ || s_row.productid || ‘,‘ || s_row.servicetermid || ‘,‘‘‘ || s_row.parano || ‘‘‘,‘ || 
               s_row.tp || ‘,‘ || s_row.icv || ‘,‘‘‘ || s_row.paracode || ‘‘‘,‘‘‘‘,‘ || 
               s_row.l3direct || ‘,‘‘1‘‘,‘ || s_row.l3indirect || ‘,‘ || s_row.l2direct || ‘,‘ || s_row.l2indirect || ‘,‘ || s_row.l1indirect || ‘,‘ || s_row.privateprice || ‘,‘‘1‘‘‘ ||
               ‘,‘‘999999999‘‘)‘
               );
               dbms_output.put_line(‘SPA_POSSVCFMV(‘ || s_row.productid || ‘,‘‘999999999‘‘)‘
               );
               
               
           fetch v_possvcfmv into s_row;
           end loop;
      close v_possvcfmv;
   
      --commit;

     Exception
       When Others Then
       rollback;
     end;

end;

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读