您的位置:首页 > 数据库 > MySQL

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

2017-08-23 13:46 639 查看

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;  //关闭事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: