0
它不起作用。 CURSOR參數未知。 在這種情況下我們如何使用參數?非常感謝mysql如何在CURSOR中使用參數?
CREATE PROCEDURE proUpdateMember(inDate Date)
DETERMINISTIC
BEGIN
DECLARE v_memberId INT;
DECLARE dueDate, lastTwelfthDueDate date;
DECLARE done INT DEFAULT FALSE;
DECLARE UpdateMember(inDueDate date ,inLastTwelfthDueDate date)
CURSOR FOR select member_id from tableMember where
member_due_date BETWEEN inLastTwelfthDueDate and inDueDate;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
set dueDate = (inDate - INTERVAL 1 MONTH);
set lastTwelfthDueDate = (dueDate - INTERVAL 12 MONTH);
OPEN UpdateMember(dueDate,lastTwelfthDueDate); /* input parameter */
read_loop: LOOP
FETCH UpdateMember INTO v_memberId;
IF done THEN LEAVE read_loop; END IF;
select v_memberId;
end if;
END LOOP;
CLOSE UpdateMember;
END$$