使用定時器調用mysql的預存程序,mysql預存程序
1.使用遊標建立預存程序
SQL建立:
create PROCEDURE daily_max_avg_online()BEGINdeclare max_online int;declare avg_online int;declare time TIMESTAMP;declare cur cursor for select MAX(online_num),round(avg(online_num)),DATE_FORMAT(statistical_time ,'%y-%m-%d') from real_time_online_statistics group by DATE_FORMAT(statistical_time ,'%y-%m-%d');open cur;cur:loopFETCH cur into max_online,avg_online,time;insert into daily_max_avg_online_statistics(id,max_online_num,avg_online_num,statistical_time) values(UUID(),max_online,avg_online,time); end loop cur;close cur;END;
Navicat建立:
1,.點擊資料庫中的函數 --> 建立函數
2.一路點擊完成,進入建立預存程序的介面
3.儲存(Ctrl+S) -- > 輸入預存程序名稱 --> 完成預存程序的建立
2.建立定時器調用預存程序
1.點擊事件 --> 建立事件 --> 進入介面 --> 填寫需要定時調用的預存程序
2.設定定時任務 -- 這裡設定每天一次,開始時間為 2014-12-04 15:08:00
3.要使定時起作用MySQL的常量GLOBAL event_scheduler必須為on或者是1 -- 查看是否開啟定時器 SHOW VARIABLES LIKE '%event_scheduler%'; -- 開啟定時器 0:off 1:on SET GLOBAL event_scheduler = 1; 或 SET GLOBAL event_scheduler = ON; Over