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