【MySQL】使用event 的具體 案例

楊奇龍發表於2013-04-04
前一篇文章介紹了 event 用法,本文介紹一個實際的使用案例
1 首先建立一個儲存過程 刪除指定時間之前的資料。
delimiter //
CREATE  PROCEDURE `proc_del_response_per_day`(in com_num int , in push_time datetime )
begin
    declare curid bigint ;
    DECLARE rowid bigint ;
    declare no_more_departments int ;
    declare curs cursor for
        select response_per_day_id
        from
            response_per_day
        WHERE
            gmt_created < push_time ;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments = 1;
    SET no_more_departments=0;
    set rowid = 1 ;
    set autocommit = 0 ;
    open curs ;
    REPEAT
        fetch curs into curid ;
        delete from response_per_day where response_per_day_id = curid ;
        set rowid = rowid + 1 ;
        if rowid % com_num = 0
        then
            commit;
        end if ;
    UNTIL no_more_departments
    END REPEAT;
    commit ;
    close curs ;
end;
//
delimiter ; 

建立一個定時器每個一個月排程一次

create evnet  e_call_proc_del_rpd
        on schedule every 1 month
        on completion  preserve
        do call(200,now());

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-757744/,如需轉載,請註明出處,否則將追究法律責任。

相關文章