ようこそ (Jyokoso) MY BLOG

いらっしゃいませ (hajimemashite) สำหรับผู้เข้าใหม่นะค่ะ ^^V

18 ตุลาคม 2553

ตัวอย่าง : การใช้ cursor จัดการกับข้อมูลที่ส่งกลับมา>=2ค่า

function CF_receipt_noFormula return varchar2 is
vTmp varchar2(1000);
  cursor c_receipt IS
  select nvl(rgrr.receipt_no, rgrr.account_number) receipt_no
  from   rg_register_receive rgrr
  where  rgrr.ou_code        =  :ou_code
  and    rgrr.register_no     =  :register_no
  and    nvl(rgrr.receipt_no, rgrr.account_number) is not null;
BEGIN
FOR i IN c_receipt LOOP              
--> วนลูปเพื่อนำข้อมูลมา(||)ไปร์ต่อกันโดยครั่นด้วย ","
      vTmp := vTmp||','||i.receipt_no;
END LOOP;

return   SUBSTR(vTmp,INSTR(vTmp,',', 1)+1); 
-->หา "," ตัวแรกแล้วตัดออก
end;

ไม่มีความคิดเห็น:

แสดงความคิดเห็น