mysql 存储过程和定时器调用

1、将user2表查询数据批量插入user表 -- 存储过程

DELIMITER $$

CREATE PROCEDURE `存储过程名称`()
BEGIN
INSERT INTO `user`
            (
             `userid`,
             `username`,
             `userage`
            )
SELECT `userid2` AS userid,
       `username2` AS username,
       `userage2` AS userage
FROM  `user2`
WHERE userid2 < 50;

END$$
DELIMITER ;

 2、创建定时器

#创建定时器
create event if not exists 定时器名称
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)    --每天一点执行
on completion PRESERVE
do call 存储过程名称();

3、启动定时器

#启动定时器
SET GLOBAL event_scheduler = 1;
#停止定时器
SET GLOBAL event_scheduler = 0;

4、开启定时事件(默认是开启的,如果打开定时器,存储过程没执行就是事件未开启)

#开启事件
ALTER EVENT 定时器名称 ON  COMPLETION PRESERVE ENABLE;  
#关闭事件
ALTER EVENT 定时器名称 ON  COMPLETION PRESERVE DISABLE;

5、查看定时器的状态

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

修改存储过程或定时器均可用sqlyong 可视化工具去修改

猜你喜欢

转载自blog.csdn.net/qq_34200979/article/details/120064203