【MySQL】使用event 的具体 案例

前一篇文章介绍了 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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22664653/viewspace-757744/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值