当前位置: 代码迷 >> Oracle技术 >> 大神请进,有关于oracle中||拼接字符不拼接有关问题请问
  详细解决方案

大神请进,有关于oracle中||拼接字符不拼接有关问题请问

热度:149   发布时间:2016-04-24 08:08:41.0
大神请进,有关于oracle中||拼接字符不拼接问题请教
本帖最后由 s63403048 于 2014-06-07 11:23:52 编辑
在存储过程中进行参数拼接然后回传,
拼接时返回空


begin
    open cur_saleinfo;
    loop
      fetch cur_saleinfo
        into ls_cardNo, ls_amt, ls_tranid, ls_chargedate, ls_chargeId,ls_balance;
      EXIT WHEN cur_saleinfo%NOTFOUND;
      if ls_balance>0 then
         
      ls_rsp := ls_cardNo || ',' || ls_amt || ',' || ls_tranid || ',' ||
                ls_chargeId || ',' || ls_chargedate || ',' || ls_chargedate ||'|'; -- 此处拼接成功
       else
       ls_rsp := ls_cardNo || ',' || ls_amt || ',' || ls_tranid || ',' ||
        ls_chargeId || ',' || ls_chargedate ||'|';
      as_rsp := as_rsp||ls_rsp; -- 这里拼接后的值为空
      end if;
    end loop;
    close cur_saleinfo;
    as_rsp := as_num || '|' || as_rsp;
  end;

------解决方案--------------------
引用:
在存储过程中进行参数拼接然后回传,
拼接时返回空


begin
    open cur_saleinfo;
    loop
      fetch cur_saleinfo
        into ls_cardNo, ls_amt, ls_tranid, ls_chargedate, ls_chargeId,ls_balance;
      EXIT WHEN cur_saleinfo%NOTFOUND;
      if ls_balance>0 then
         
      ls_rsp := ls_cardNo 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_amt 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_tranid 
------解决方案--------------------
 ',' 
------解决方案--------------------

                ls_chargeId 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_chargedate 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_chargedate 
------解决方案--------------------
'
------解决方案--------------------
'; -- 此处拼接成功
       else
       ls_rsp := ls_cardNo 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_amt 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_tranid 
------解决方案--------------------
 ',' 
------解决方案--------------------

        ls_chargeId 
------解决方案--------------------
 ',' 
------解决方案--------------------
 ls_chargedate 
------解决方案--------------------
'
------解决方案--------------------
';
      as_rsp := as_rsp
------解决方案--------------------
ls_rsp; -- 这里拼接后的值为空
      end if;
    end loop;
    close cur_saleinfo;
    as_rsp := as_num 
------解决方案--------------------
 '
------解决方案--------------------

------解决方案--------------------
 as_rsp;
  end;

你调试一下看ls_rsp有值吗?
------解决方案--------------------
游标查到记录了吗?
  相关解决方案