mysql 定时器调用存储过程

  今天工作中因为业务需要需要定时调用存储过程,后来一番搜索,知道mysql中event可以起到定时器的效果

  百度了一下,有些简单的demo,但是按照demo写之后,发现一个问题,带有输出参数的存过怎么办?后来想了一下在外面包一层存过就OK了

    下面就和大家说一下mysql中的计时器把

#设置触发器定时执行
SET GLOBAL event_scheduler = 1; -- 计时器 event_scheduler
CREATE EVENT IF NOT EXISTS event_test -- 定义一个事件
ON SCHEDULE EVERY 3 MINUTE -- 每隔三分钟执行存过,根据自己的业务
ON COMPLETION PRESERVE -- 用于控制开启或关闭事件
DO CALL Event_Calloutbound(); -- 要调用的存过

# 控制事件开关
ALTER EVENT event_test ON COMPLETION PRESERVE ENABLE; -- 开启事件
ALTER EVENT event_test ON COMPLETION PRESERVE DISABLE; -- 关闭事件

#控制定时器开关
SET GLOBAL event_scheduler = 1; -- 启动定时器
SET GLOBAL event_scheduler = 0; -- 停止定时器

#查看定时器状态
SHOW VARIABLES LIKE '%event_scheduler%';  -- 查看定时器状态

#删除事件
DROP EVENT event_test; -- 删除事件

最后在给大家附上一张图,希望可以帮助到大家

原文地址:https://www.cnblogs.com/lishiyiya/p/14900552.html