数据库端的作业调度是按照一定的时间间隔,由数据库管理系统定期的执行SQL语句或者是存储过程。如:每天的凌晨1点判断,根据当前日期,判断设置的热点消息是否过期,将过期的热点消息改为,非热点。示例代码如下:
CREATE DEFINER=`root`@`%` EVENT `evHotSetExpire`
ON SCHEDULE EVERY 1 DAY STARTS '2021-01-13 01:00:00' ON COMPLETION PRESERVE ENABLE
DO BEGIN
/* 判断热点日期是否到达,如果到达将热点置为非热点 */
DECLARE currDate DATETIME;
SET currDate =NOW();
UPDATE tsvbase SET FISHOT =0
WHERE FISHOT = 1 AND
RECID IN (SELECT FPWID FROM thotset WHERE FEDATE < currDate AND FCLASS=501);
END$$
其中:event为数据库对象类型;
schedule every 1 day starts ‘2021-01-13 01:00:00’ 表示: 从2021-01-13开始,每天01:00:00进行操作。
on completion preserve enable是表示创建后并开始生效。