1.需求描述
每天0时定时调用存储过程
2.创建定时任务
方式一
SELECT @@global.sql_mode;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); ##当前session变量生效
-- 创建每天0时执行一次的定时任务,调用存储过程
CREATE DEFINER=`root`@`localhost` EVENT IF NOT EXISTS event_call_proc_modify_primary_key_value
-- 每天0时执行一次
-- ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')
-- 每3秒执行一次
ON SCHEDULE EVERY 3 SECOND STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')
ON COMPLETION PRESERVE ENABLE
DO
CALL proc_modify_primary_key_value('primary_key_generator_table','value','1','name','PK_CUSTOMER_ID')
-----------------------------------------------------------------------------------------------------------
方式二
-- 创建每天0时执行一次的定时任务,调用存储过程
CREATE DEFINER=`root`@`localhost` EVENT IF NOT EXISTS event_call_proc_modify_primary_key_value
-- 每天0时执行一次
-- ON SCHEDULE EVERY 1 DAY STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')
-- 每3秒执行一次
ON SCHEDULE EVERY 3 SECOND STARTS TIMESTAMP(CURRENT_DATE,'00:00:00')
ON COMPLETION PRESERVE
DO
CALL proc_modify_primary_key_value('primary_key_generator_table','value','1','name','PK_CUSTOMER_ID')
3.开启定时任务
方式一
-- 开启定时器
SET GLOBAL event_scheduler=1;
-----------------------------------------------------------------------------------------------------------
方式二
-- 开启定时器
SET GLOBAL event_scheduler=1;
-- 开启事件任务
ALTER EVENT event_call_proc_modify_primary_key_value ENABLE;
4.查看定时任务
-- 查看定时任务
SELECT * FROM information_schema.`EVENTS`;
5.删除定时任务
-- 删除定时任务
DROP EVENT event_call_proc_modify_primary_key_value;