忘れてたのでメモ
DELIMITER //
DROP PROCEDURE IF EXITS sp_foo
//
CREATE PROCEDURE sp_foo()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE _username VARCHAR(45);
DECLARE _birth_date DATE;
DECLARE cur CURSOR FOR
SELECT id, username, birth_date
FROM members
ORDER BY username ASC ;
DECLARE EXIT HANDLER FOR NOT FOUND SET done = 0;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur;
REPEAT
FETCH cur INTO _id, _username, _birth_date ;
IF NOT done THEN
INSERT INTO temp_member ( uname, b_date )
VALUES ( _username, _birth_date );
END IF ;
UNTIL done END REPEAT ;
CLOSE cur;
SELECT NOT();
END
//
DELIMITER ;
==============================
実行は、 call sp_foo ;