我想在mysql中创建存储过程,我想在BIGINT中传递两个参数startDate,在INT中传递noOfDays。因此在存储过程中创建临时表并在其中插入日期。例如,如果我通过了8月1日。和10则临时表中的记录应该是从8月1日到8月10日。请对此给出建议。
发布于 2012-08-01 14:03:14
以下过程将为您完成此操作:
CREATE PROCEDURE sp_insert_date_data(arg_start_date DATE, arg_no_of_days INT unsigned)
BEGIN
SET @var_date_cnt = 0;
DROP TEMPORARY TABLE IF EXISTS tmp_date;
CREATE TEMPORARY TABLE tmp_date;
(
dates DATE NOT NULL
);
WHILE(@var_date_cnt < arg_no_of_days)
DO
INSERT INTO tmp_date(dates)
VALUES
(DATE_ADD(arg_start_date, INTERVAL @var_date_cnt DAY));
SET @var_date_cnt = @var_date_cnt + 1;
END WHILE;
SELECT * FROM tmp_date;
END;https://stackoverflow.com/questions/11753227
复制相似问题