Oracle 游标使用全解
发布时间:2021-03-15 07:46:57 所属栏目:站长百科 来源:网络整理
导读:这个文档几乎包含了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; (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |