CREATE PROCEDURE `proc_calendar`()
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
# 声明循环变量
declare v_n int;
# 声明最大值
declare v_maxn int;
# 声明开始日期变量
declare v_begindate date;
# 清空日历表
# truncate table SYS_HOLIDAYS;
# 从1开始
set v_n = 1;
# 一年的天数
set v_maxn = 365;
# 开始时间
set v_begindate = str_to_date('2018-01-01','%Y-%m-%d');
# 设置本年的上一年最后一天开始
set v_begindate = date_add(v_begindate, interval -1 day);
begin
while v_n <= v_maxn do
begin
insert into SYS_HOLIDAYS(HOLIDAYS_DT) select date_add(v_begindate, interval v_n day);
set v_n =v_n+ 1;
END;
end while;
end;
commit;
END;
创建人 | 王海永 |
文档编辑权限 | 创建者私有 |
文档阅读权限 | 来自分类 |
分类阅读权限 | 所有人 |
分类编辑权限 | 所有人 |
分类审核权限 | 无 |
修改日期 | 修改人 | 备注 |
2018-01-05 17:20:23[当前版本] | 王海永 | CREAT |