mysql使用存储过程,创建日历表:
准备日历表:
CREATE TABLE m_dim_day
(
ID
int(11) NOT NULL AUTO_INCREMENT,
DAY_ID
varchar(10) DEFAULT NULL,
DAY_SHORT_DESC
varchar(10) DEFAULT NULL,
DAY_LONG_DESC
varchar(50) DEFAULT NULL,
WEEK_DESC
varchar(20) DEFAULT NULL,
WEEK_ID
varchar(20) DEFAULT NULL,
WEEK_LONG_DESC
varchar(50) DEFAULT NULL,
MONTH_ID
varchar(20) DEFAULT NULL,
MONTH_LONG_DESC
varchar(50) DEFAULT NULL,
QUARTER_ID
varchar(20) DEFAULT NULL,
QUARTER_LONG_DESC
varchar(20) DEFAULT NULL,
YEAR_ID
varchar(20) DEFAULT NULL,
YEAR_LONG_DESC
varchar(50) DEFAULT NULL,
PRIMARY KEY (ID
)
) ENGINE=InnoDB AUTO_INCREMENT=731 DEFAULT CHARSET=utf8;
存储过程如下:
CREATE DEFINER=root
@localhost
PROCEDURE f_m_dim_day
(in yr VARCHAR(20))
begin
declare i int;
declare start_date varchar(20);
declare end_date varchar(20);
declare date_count int;
set i=0;
set start_date= concat(yr, '-01-01');
set end_date = concat(yr+1,'-01-01');
DELETE from m_dim_day w