mysql如何做计划任务_简单的mysql 过程计划任务
首先講講過程是什么東西, 過程差不多就是SQL用的java之于方法.
把一段sql做成過程后一個簡單的調用就可以批量執行這些sql,很方便.
其實就像java后臺寫個執行復雜sql的方法,你只是把這段sql存到數據庫里了而已.
mysql里面有"過程"和"函數"兩個概念, 基本上前者用來進行一些數據表改動或者返回數據表等大量數據,
CREATE PROCEDURE test_procedure (IN inpput INT)
BEGIN
set @VAR= concat("test", inpput, (select CAST(count(*) AS CHAR) from source));
insert into source (linked,note) values(@var, 'test');
END
第一行create procedure后面跟過程名稱,括號里面填寫參數,
后者用于返回一些小的參數用于執行其他sql. 兩者對比另有他人文章我就不多說明.
在這篇里面講一下怎樣實現定時插入數據的功能
下面結合具體代碼解釋
往表"source"插入數據的過程創建:
參數有輸入,輸出,輸入并輸出,詳細參閱其他文章吧,?這里簡單輸入一個數字作為字段內容
然后接begin, end,里面填寫要執行的sql
@VAR是變量, 用來生成個插入用的文字,這里的效果是等于test+輸入的數字+source表的行數
執行一下,test_procedure過程就創建好了,調用的方法是CALL 過程名,例如下面的
CALL test_procedure(123)
下面就是建立一個事件定時執行這個插入過程
CREATE EVENT test_event
ON SCHEDULE EVERY 10 SECOND
ON COMPLETION NOT PRESERVE
DISABLE
DO
CALL test_procedure(123);
create event 事件名
on schedule后面設定事件發生時間,可以設定一個時間點,也可以設定周期,這里設置周期10秒
on completion設置事件結束后是否銷毀,not preserve是不保存,銷毀,去掉not就保留著,可以以后再次啟動事件
下面一個disable,enable表示創建時候是否就啟動
Do 后面就是具體執行的內容了,這里調用test_procedure過程
最后控制事件的啟動與停止,如下
ALTER EVENT test_event ENABLE;
用alter event 事件名 狀態來改變,enable就啟動了,看看表格發現數據不斷增多,可以用來測試了
總結
以上是生活随笔為你收集整理的mysql如何做计划任务_简单的mysql 过程计划任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab 画图函数
- 下一篇: Navicat Error 2003 -