定时任务不执行的原因(定时任务*****代表什么)

lxf2023-06-05 09:40:02

bitsCN.com 定时任务
查看事件是否开启:显示变量如& # 39;% sche % & # 39;
打开事件计划:set global event _ scheduler = 1;
关闭事件任务:完成时更改事件e _ test保留禁用;
开户事件任务:修改事件e _ test on completion preserve enable;

简单的例子
创建表测试(结束时间datetime);

create stored procedure test
create procedure test()
begin
update examine info set end time = now(),其中ID = 14
END;

创建事件e _ test
如果不存在则创建事件e _ test
按计划每30秒
完成时保留
do调用test();
创建EVENT if not exists e _ test
on schedule per 1 second
on completion preserve
do insert into aa values(now());
存储过程测试将每30秒执行一次,以将当前时间更新到examinfo表中id=14的记录的endtime字段。

触发器
分隔符//
在t _ model上insert之前创建触发器trigger _ HTML缓存
for每行begin
If Curdate () insert。

分隔符$ $
DROP PROCEDURE IF existing ` njfyedepartment ` . ` sp _ ireport `$
CREATE DEFINER = ` root ` @ `% ` PROCEDURE ` sp _ ireport `(在qureyType VARCHAR(20)、daytime VARCHAR(20)、p_ids VARCHAR(50)、c_ids VARCHAR(50)、ct1_ids VARCHAR(50)、ct2_ids VARCHAR(50)、ku VARCHAR(50)、ireport _ chart varchar
如果查询类型= & # 39;插入& # 39;或者qureyType = & # 39插入& # 39;然后
INSERT INTO ireport
(PID,cid,ct1id,ct2id,creatTime,crawlerNumber,WEEK)
SELECT province AS pid,
cityid AS cid,
category1id AS ct1id,
category2id AS ct2id,
(CURRENT _ DATE)AS creatTime,COUNT(*) AS crawlerNumber,
(FLOOR(day of month(CURRENT _ DATE)/8
END IF;
如果查询类型= & # 39;月& # 39;或者qureyType = & # 39月& # 39;然后
如果存在(SELECT * FROM information _ schema . ` tables ` T WHERE TABLE _ NAME = & # 39;tmp _ result & # 39且TABLE_SCHEMA = ku)然后
DROP TABLE tmp _ result;
END IF;
CREATE TABLE tmp _ result
(PID VARCHAR(50),pName VARCHAR(50),cid VARCHAR(50),cName VARCHAR(50),ct1id VARCHAR(50),ct2id VARCHAR(50),ct2Name VARCHAR(50),month1 INTEGER,month2 INTEGER,month3 INTEGER,month4 INTEGER,month5 INTEGER,
month6 INTEGER,month7 INTEGER,month

lable _ exit:BEGIN
SET @ SqlCmd = & # 39;INSERT INTO tmp_result (pid,pname,cid,cname,ct1id,ct1name,ct2id,ct2name)
SELECT pid,pname,cid,cname,ct1id,ct1name,ct2id,ct2name FROM
(SELECT ia.pid,a.name AS pname,ia.cid,b.name AS cname,ia.ct1id,c.name AS ct1name,ia.ct2id,d.name AS ct2name
) ';
如果p_ids不为空并且p _ ids & # 39'然后
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;以及(& # 39;);
SET @ SqlCmd = CONCAT(@ SqlCmd,p _ ids);
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;)');
END IF;
如果c_ids不为NULL并且c _ ids & # 39'然后
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;以及(& # 39;);
SET @ SqlCmd = CONCAT(@ SqlCmd,c _ ids);
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;)');
END IF;
如果ct1_ids不为空并且ct1 _ ids & # 39'然后
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;以及(& # 39;);
SET @ SqlCmd = CONCAT(@ SqlCmd,ct1 _ ids);
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;)');
END IF;
如果ct2_ids不为空并且ct2 _ ids & # 39'然后
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;和ia.ct2id在(& # 39;);
SET @ SqlCmd = CONCAT(@ SqlCmd,ct2 _ ids);
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;)');
END IF;
SET @ SqlCmd = CONCAT(@ SqlCmd,& # 39;)作为ir组由pid,pname,cid,cname,ct1id,ct1name,ct2id,ct2name');
从@SqlCmd准备stmt1
SET @ a = daytime;
使用@a执行stmt1
解除分配准备stmt1
离开lable _ exit
END lable _ exit;

WHILE i