mysql启用系统定时任务自动调用存储过程动态拼接表

来源:互联网 发布:施工进度网络计划图 编辑:程序博客网 时间:2024/06/06 02:16

1:用存储过程中自动拼接表

DELIMITER $

CREATE PROCEDURE pro_createEvent()
BEGIN 
SET @sql_create_table2 = CONCAT(
'create table if not exists yycg_',DATE_FORMAT(NOW(),'%h_%i_%s'),
'(
id int,
name varchar(20)
)'
);
PREPARE sql_create_table2 FROM @sql_create_table2;
EXECUTE sql_create_table2;
DEALLOCATE PREPARE sql_create_table2;

END $

2:定义一个系统定时任务每隔30秒调用一次存储过程

CREATE event IF NOT EXISTS create_date
ON SCHEDULE EVERY 30 SECOND 
ON COMPLETION PRESERVE ENABLE
DO
CALL pro_createEvent();


在命令行输入: 

SHOW VARIABLES LIKE '%sche%'; 查看是否开启定时器。

SET GLOBAL event_scheduler = ON;开启定时器。

show EVENTS 查看事件。

ALTER EVENT event_test ON    

COMPLETION PRESERVE ENABLE;    //开启事件

ALTER EVENT event_test ON    

COMPLETION PRESERVE DISABLE;  //关闭事件。


原创粉丝点击