mysql游标实现时当内部查询有一次未查询到结果时就自动退出循环解决办法

来源:互联网 发布:ppt软件下载官方 编辑:程序博客网 时间:2024/05/22 03:22

DECLARE done INT DEFAULT 0;  

 DECLARE cur2 cursor for SELECT  periodid,name,periodtype  from  edm_period  where  projectid =p_projectid ;


 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;  


OPEN cur2;

     lp1:LOOP  
        FETCH cur2 INTO v_periodid,v_purname,v_periodtype;  


        IF done=1 THEN  
          LEAVE lp1;  
        END IF;  
        select  max(periodseq) into v_maxseq  from  edm_form_status  where projectid=p_projectid and periodid=v_periodid  and formid=0;
        
        set done=0;
      end Loop lp1;

close cur2;


解决办法就是在每次循环执行结束时加上set done=0; 如上代码。

0 0
原创粉丝点击