mysql遊標實現時當內部查詢有一次未查詢到結果時就自動退出迴圈解決辦法
阿新 • • 發佈:2019-02-16
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:LOOPFETCH 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; 如上程式碼。