Oracle游标例子

/*
功能:将已启用活动的期间升级到TBHDQJ
版权:王茂健
时间:20110922
*/
declare v_slnm varchar2(36);
        cursor myCursor is select tbfasl_slnm from tbfasl where tbfasl_stat='1';
Begin
        open myCursor;
        fetch myCursor into v_slnm;
          while myCursor%found
          loop
            declare v_sql varchar2(1000);
                    v_count int:=0;
               begin
                 select count(1) into v_count from tbhdqj where tbhdqj_slnm=''||v_slnm||'';
                 if(v_count<=0)
                        then
                         v_sql :='insert into tbhdqj select tbslqj_slnm,tbslqj_xh,tbslqj_xdqj,tbslqj_zqnm,
                         (case when tbbzqj_bzlx=''B'' and left(TBBZQJ_QJ,1)<>''-'' then ''0'' when tbbzqj_bzlx=''Q'' then ''1'' else ''1'' end) 
                          from tbslqj2,tbbzqj where tbslqj_slnm='''||v_slnm||'''
                          and tbbzqj_znm=tbslqj_znm and tbbzqj_zq=tbslqj_zqnm and tbbzqj_qj=tbslqj_xdqj';
                          execute immediate v_sql;
                   end if;
                  fetch myCursor into v_slnm;
               end;
          end loop;
        close myCursor;
End;
在执行的时候老是提示“无效字符”,是因为v_sql最后加了个“;”,我晕  v_sql:='.............................=tbslqj_xdqj;';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值