我已经创建了这个存储过程,当我调用它时,它应该返回3列,即8月份的日,月,年,其中应该在第1-30天的日期列中添加1-30天,在第8列中应该返回30时间和类似的2016年应该会到来,但它在呼叫时无休止地运行
DELIMITER $$
USE `Employee`$$
DROP PROCEDURE IF EXISTS `sp_insert_date_data`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_insert_date_data`
(start_date DATE, end_date DATE)
BEGIN
SET @date_count=0;
CREATE TEMPORARY TABLE tmp_date
(
day_n INT(2),month_n INT(2), year_n INT(4)
);
WHILE(start_date <= end_date)
DO
INSERT INTO tmp_date(day_n,month_n,year_n)
VALUES
(EXTRACT(DAY FROM start_date),EXTRACT(MONTH FROM start_date),EXTRACT(YEAR FROM start_date));
END WHILE;
SELECT * FROM tmp_date;
END$$
call sp_insert_date_data('2016-08-01','2016-08-30')