MySQL存儲過程和定時任務

什麼是存儲過程

存儲例程是存儲在數據庫服務器上的一組sql語句,這些語句經過在查詢中調用指定的名稱來執行。mysql

 


 

存儲過程是存儲在數據庫中的一組SQL語句sql

存儲過程是mysql中定義的方法數據庫

能夠經過調用方法名稱來調用更改的方法服務器

存儲過程關聯既是數據庫又是模式學習

存儲過程的結構3d

DROP PROCEDURE IF EXISTS $ {proceName} ;分隔符//建立過程$ {proceName} ()(  [$ {參數類型}] $ {參數名稱} $ {參數類型})BEGINblog

  $ {proceBody} END //get

若是你在學習C/C++的過程當中遇到了問題,能夠來加入小編的企鵝圈問小編哦~小編很熱情的(●’◡’●)io

DELIMITER ;#執行Proc()存儲過程CALL $ {proceName}();event

如何使用

#定義一個簡單的存儲過程#首先肯定是否有一個Proc()存儲過程,而後滴落DROP PROCEDURE IF EXISTS PROC;#建立Proc()存儲過程/ *方法說明-@author:$ {Author}-@date:$ {Time}-@param:int-$ {參數名稱}-參數說明-@return:具體信息* /分隔符//CREATE PROCEDURE PROC()

BEGIN SELECT * FROM用戶; 結束//定界符;#執行Proc()存儲過程調用Proc();

請注意,「 DELIMITER //」語句的目的是將MYSQL的終止符設置爲//,由於MYSQL的默認語句終止符是分號。爲避免與存儲過程聯繫,

衝突的SQL語句終止符須要DELIMITER更改存儲過程的終止符並以END //結束存儲過程。

定義存儲過程後,將使用DelIMITER;恢復默認終止符。DELIMITER也能夠將其餘符號指定爲終止符!

存儲過程的管理


 

#查看全部存儲過程信息顯示程序狀態;#刪除存儲過程刪除過程$ {procedureName} ;#查看存儲過程的內容信息顯示建立過程$ {procedureName};

定時任務管理

#定時任務是否開啓顯示變量,例如'%event_sche%';#打開計時器任務(開始生效)#修改Profile / etc / my.conf

event_scheduler = ON #打開計時器任務(從新啓動失敗)SET GLOBAL event_scheduler = 1 ;#關閉計時器任務(從新啓動失敗)SET GLOBAL event_scheduler = 0 ;

#查看全部定時任務信息演出活動;#定時任務結構

#建立一個定時任務(例如)創造學習EVENT IF NOT EXISTS $ {eventName的} ON每隔SCHEDULE 30第二個

  #Execute每30秒開竣工PRESERVE  #Eve在定時器任務後,設置爲禁用完成後,若是維護的是以前添加是不刪除DO CALL $ {procedureName}();

#啓動一個定時任務ALTER EVENT $ {evenName} ENABLE;    #關閉定時任務ALTER EVENT $ {evenName} DISABLE;  #刪除定時任務DROP EVENT IF EXISTS $ {evenName} ;

簡單的例子

每一個星期一執行存儲過程

 


 

#存儲過程(肯定今天是不是星期一)DELIMITER // CREATE PROCEDURE p_clear_author_rank_integral ()BEGIN DECLARE weed_index INT DEFAULT 0; SET weed_index = dayofweek(now());

  若是weed_index = 2而後

      更新用戶集rank_integral = 0 ,其中author.id!= 0 ;

  結束IF ;結束//定界符;#定時任務(天天)蠟膏EVENT IF NOT EXISTS e_clear_author_rank_integral

ON SCHEDULE每1天ON COMPLETION PRESERVE

DO CALL p_clear_author_rank_integral();

相關文章
相關標籤/搜索