利用定时器生成计划明细表

需求:每月根据任务类型生成计划明细表

delimiter $$  
drop event if exists addplan;  -- 创建定时器
create event addplan
on schedule   
EVERY 1 MONTH       -- 每个月执行一次
 STARTS '2019-07-28 22:02:00'    -- 定时器执行开始时间
ON COMPLETION  PRESERVE ENABLE  
do  
begin  
  DECLARE pdate TIMESTAMP;   -- 定义变量执行日期
	DECLARE sdate TIMESTAMP;   -- 定义变量
	SET sdate = CURRENT_TIMESTAMP;   -- 变量取当前时间
	SET pdate = CURRENT_TIMESTAMP;
	WHILE pdate < ADDDATE(sdate,INTERVAL +1 MONTH) DO      -- 判断执行日期在当月内,循环
	INSERT INTO result(devid,devname,checksta,checktime) (SELECT A.devid,A.devname,'未巡检',pdate FROM devinfo A,devcheck B WHERE A.devid=B.devchid AND B.check='daycheck');  -- 插入日检计划明细
	set pdate = ADDDATE(pdate,INTERVAL +1 DAY);  --  执行日期+1天
  END WHILE;  -- 结束循环
end $$  
delimiter;

SELECT * FROM result;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值