mysql每天9点至12点,每隔30分钟执行一次存储过程
1. 用到的存储过程
proc1(varchar start_time,varchar end_time):在时间范围内执行,超过时间不执行
proc2:实际需要执行的存储过程
delimiter $$
DROP PROCEDURE IF EXISTS proc1 $$
create PROCEDURE proc1(IN start_time varchar(50), IN end_time varchar(50))
begin
if now() BETWEEN DATE_FORMAT(concat(DATE_FORMAT(now(),'%Y-%m-%d'),' ',start_time),'%Y-%m-%d %H:%i:%s') and DATE_FORMAT(concat(DATE_FORMAT(now(),'%Y-%m-%d'),' ',end_time),'%Y-%m-%d %H:%i:%s') then
call proc2();
end if;
end $$
DELIMITER ;
2. 创建一个触发器
event1:触发器,每隔30分钟触发一次,执行命令call proc1(‘09:00:00’,‘12:00:00’)
CREATE EVENT if not exists event1
on schedule every 30 minute
on completion preserve
do call proc1('09:00:00','12:00:00');