作者:王海永于 2018年01月05日 发布在分类 / 开发技术 / DB / MySQL 下,并于 2018年01月05日 编辑
    日历生成存储过程MySql版

       720

       0


    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;

    访问权限

    创建人 王海永
    文档编辑权限 创建者私有
    文档阅读权限 来自分类
    分类阅读权限 所有人
    分类编辑权限 所有人
    分类审核权限
    标签

    日历 mysql
    历史版本

    修改日期 修改人 备注
    2018-01-05 17:20:23[当前版本] 王海永 CREAT
    同类知识
    相关知识

    睿恒知识库-V3.2.0