Mysql定時任務 定時執行操作

2021-06-04 07:48:10 字數 3035 閱讀 4047

mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的另乙個特色功能,可以作為定時任務排程器,取代部分原先只能用作業系統任務排程器才能完成的定時功能。事件排程器是定時觸發執行的,在這個角度上也可以稱作是"臨時的觸發器"。觸發器只是針對某個表產生的事件執行一些語句,而事件排程器則是在某乙個(間隔)時間執行一些語句。事件是由乙個特定的執行緒來管理的,也就是所謂的"事件排程器"。

/*開啟event_scheduler,也可以設定為on

*/set

global event_scheduler =1

;/*建立簡單的任務,每分鐘執行一次,從乙個表取資料插入到另乙個表,也可以定時取,可以參看下面文件,此處為簡單例子

*/create

event myevent

onschedule every 

1minute 

doinsert

into

list_test (欄位1,欄位1,欄位1,欄位1,欄位1) 

select

欄位1,欄位1,欄位1,欄位1,欄位1 

from

表2 where

id  

=510

;/*每天固定時間執行*/

create event event_add_for20_enough

on schedule every 1 day

starts timestamp '2009-12-18 02:58:00'/×mysql注意時區設定,預設非中國時區×/

dosql語句

/files/pochonlee/mysql-events-cn.rar

再加兩段吧

delimiter $$

drop

procedure

ifexists

`mystock`.`test_kkk`$$

create

procedure

`mystock`.`test_kkk`()

/*language sql

| [not] deterministic

| | sql security 

| comment 'string'

*/begin

declare

num 

integer

default0;

declare

$a int

;select(20

-count

(stock_code)) 

asnumber

into

num 

from

get_stock_list 

where

flag =0

andstime 

=curdate();

ifnum

>

0then

prepare

stmp 

from

'insert into get_stock_list (stock_code,stock_name,close,raises,stime) 

select stock_code,stock_name,close,result1,selectd from choice_stock  where stock_code  

not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) and 

selectd = curdate() and selectd = curdate() order by id limit ?';

set@a

=num;

execute

stmp using @a;

endif

;end

$$delimiter ;

delimiter $$

drop

function

ifexists

`mystock`.`function_add_stock_for20`$$

create

definer

=`root`@`localhost` 

function

`function_add_stock_for20`() 

returns

int(11)

begin

declare

num,another 

integer

;select

count

(stock_code) 

asnumber

into

num 

from

get_stock_list 

where

flag =0

andstime 

=curdate();

if(num

<20)

then

setanother =20

-num;

insert

into

get_stock_list (stock_code,stock_name,

close

,raises,stime) 

select

stock_code,stock_name,

close

,result1,selectd 

from

choice_stock 

where

stock_code  

notin

(select

stock_code 

from

get_stock_list 

where

stime 

=curdate() 

andflag =0

) order

byid limit 10;

endif

;return

num;

end$$

delimiter ;

Mysql定時任務 定時執行操作

mysql定時任務 定時執行操作 2010 02 12 來自 web技術之家 字型大小 大 中 小 摘要 本文介紹mysql定時任務 定時執行操作 mysql屬於中小型資料庫系統,它的事件排程器event scheduler是在mysql 5.1才開始引入事件排程器是在 mysql 5.1 中新增的...

oracle job 定時任務,定時執行

declare jobno number begin sys.dbms job.submit jobno,dayreport sysdate,trunc sysdate,mi 1 24 60 commit end 注 dayreport 為儲存過程名字 select from sys.user jo...

python定時任務,隔月執行,隔定時執行

blockingscheduler定時任務 from apscheduler.schedulers.blocking import blockingscheduler from datetime import datetime 首先看看周一到周五定時執行任務 輸出時間 def job print d...