如何使用存储过程在temp_table中插入数据

时间:2016-08-02 06:13:19

标签: mysql

我已经创建了这个存储过程,当我调用它时,它应该返回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')

0 个答案:

没有答案