Mysql定時任務 定時執行操作

2021-05-25 07:18:02 字數 2546 閱讀 3181

mysql定時任務(定時執行操作)

2010-02-12  來自:web技術之家  字型大小:【大 中 小】

* 摘要:本文介紹mysql定時任務(定時執行操作)*-

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

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

set global event_scheduler =1;

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

create event myevent

on schedule every 1 minute

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 if exists `mystock`.`test_kkk`$$

create procedure `mystock`.`test_kkk`()

/*language sql

| [not] deterministic

| | sql security

| comment 'string'*/

begin

declare num integer default 0;

declare $a int;

select (20-count(stock_code)) as number into num from get_stock_list where flag = 0 and stime = curdate();

if num>0 then

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;

end if;

end$$

delimiter ;

delimiter $$

drop function if exists `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) as number into num from get_stock_list where flag = 0 and stime = curdate();

if(num<20)

then

set another = 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  not in (select stock_code from get_stock_list where stime = curdate() and flag = 0) order by id limit 10;

end if;

return num;

end$$

delimiter ;

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...