函数

oracle

CREATE OR REPLACE FUNCTION GET_JFLYSTR
(p_kpid IN NUMBER --卡片ID
)
   RETURN VARCHAR2
IS
   RESULT   VARCHAR2 (1000);
BEGIN
DECLARE
    V_JFBBH varchar2(40);
    V_JE FLOAT;
    CURSOR CURSOR_JFLY IS SELECT JFBBH,JE FROM ZC_JFLY WHERE KPID= p_kpid;
    BEGIN
       OPEN CURSOR_JFLY;
       LOOP
          FETCH CURSOR_JFLY INTO V_JFBBH,V_JE;
          EXIT WHEN CURSOR_JFLY%NOTFOUND;
          RESULT := RESULT  ||  V_JFBBH || ':' || V_JE || ';';
       END LOOP;
       CLOSE CURSOR_JFLY;
    END;
   RETURN (RESULT);
END GET_JFLYSTR;


mysql:

FUNCTION GET_JFLYSTR (p_kpid  decimal(65))
 RETURNS varchar(1000)
BEGIN 
    DECLARE RESULT VARCHAR(1000);
   DECLARE   V_JFBBH varchar(40);
   DECLARE done INT DEFAULT 0;
   DECLARE  V_JE FLOAT;
 DECLARE CURSOR_JFLY CURSOR  FOR SELECT JFBBH,JE FROM ZC_JFLY WHERE KPID= p_kpid;   
   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;  
     OPEN CURSOR_JFLY;
       emp_loop: LOOP 
          FETCH CURSOR_JFLY INTO V_JFBBH,V_JE;
          -- EXIT WHEN CURSOR_JFLY%NOTFOUND;
            IF done=1 THEN  
             LEAVE emp_loop;  
         END IF;  
       SET   RESULT = concat_ws('',RESULT  ,  V_JFBBH , ':' , V_JE , ';');
       END LOOP emp_loop;
       CLOSE CURSOR_JFLY;
 RETURN RESULT;
    END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值