MySQL的存储过程以及定时任务

-- 如果已存在先删除存储过程
DROP PROCEDURE IF EXISTS `ADD_CUSTOMERS_DATA`

-- 创建存储过程
DELIMITER //
CREATE PROCEDURE `ADD_CUSTOMERS_DATA`(IN flag int(1))
BEGIN 
	if flag = 1 then  -- 等于1的时候执行
		INSERT INTO `customers`(`cust_num`, `company`, `cust_rep`, `credit_limit`) VALUES ('1', '2', '3', '4');
	else  
		INSERT INTO `customers`(`cust_num`, `company`, `cust_rep`, `credit_limit`) VALUES ('5', '6', '7', '8');
	end if;
END //

-- 删除定时任务
drop event day_event;

-- 创建定时任务执行存储过程
create event day_event
on schedule every 5 second   -- 定时任务执行频率,这里是每5秒执行一次
on completion preserve disable
do call ADD_CUSTOMERS_DATA(1);


-- 执行存储过程
CALL `ADD_CUSTOMERS_DATA`(2);

-- 查看定时任务是否开启
show variables like '%event_scheduler%';

-- 显示的event_scheduler为OFF时用以下命令开启
set global event_scheduler=1;


-- 开启定时任务
alter event day_event on completion preserve enable;
-- 关闭定时任务
alter event day_event on completion preserve disable;

  

posted @ 2022-03-04 14:43  蛋挞小子  阅读(336)  评论(0编辑  收藏  举报