荔枝桃子
2020-12-10 19:28
采纳率: 66.7%
浏览 23
已结题

mysql 存储过程和定时器

 展示全平台书本订购榜和全平台周排行榜

订购榜表结构设计:日期(yyyymmdd)、ISBN、订购数量(报订单确认的订购数量)、统计时间

采用数据库的存储过程统计每天的书本订购数量,然后采用数据库的定时器调用存储过程,每天凌晨跑一次,统计上一天的书本订购情况。

 

  • 收藏

3条回答 默认 最新

  • 荔枝桃子 2020-12-15 15:18
    已采纳

    //删除存储过程
    DROP PROCEDURE IF EXISTS getGdsInfoRank;    
    //创建存储过程
    DELIMITER $$
        CREATE PROCEDURE getGdsInfoRank() 
        BEGIN
            DECLARE t_amount BIGINT;
            DECLARE t_isbn VARCHAR(256);
            DECLARE done INT;
            DECLARE cur_rank CURSOR for
            select count(*) as t_amount,isbn as t_isbn from t_ord_sub where date(order_time) =date_sub(curdate(),interval 1 day) and sub_status='可供' group by isbn;
            DECLARE CONTINUE HANDLER for not FOUND set done=1;
            open cur_rank;
            posLoop:LOOP
            FETCH cur_rank INTO t_amount,t_isbn;
                IF done=1 THEN
                    LEAVE posLoop;
                END IF;
            insert into t_gds_info_rank(day,isbn,amount,count_time) values(date_sub(curdate(),interval 1 day),t_isbn,t_amount,NOW());
            END LOOP posLoop;    
            CLOSE cur_rank;
        end$$
    DELIMITER ;

    //查看定时器是否开启
    SHOW VARIABLES LIKE 'event_scheduler';
    //查看事件
    SHOW EVENTS;
    //删除事件
    drop event if EXISTS eventGetGdsInfoRank;
    //创建事件--每天调用一次
    create event eventGetGdsInfoRank  
    on schedule 
    EVERY 1 day  
    STARTS '2020-12-12 00:06:00'  
    do call getGdsInfoRank();
    //开启事件
    ALTER EVENT eventGetGdsInfoRank ON  COMPLETION PRESERVE ENABLE;

    已采纳该答案
    打赏 评论
  • Never__GiveUp 2020-12-10 19:51

    用quartz定时器,一般来说需要

    1.将定时任务类交给spring容器
    2.配置jobdetal : 配置需要定时执行的类和方法

    3.配置trigger(触发器): 配置时间以及jobdetal关系 (用cron表达式,也叫七子表达式)

    4.配置定时任务管理器: 触发器有可能会有多个,需要统一管理

    打赏 评论
  • Never__GiveUp 2020-12-10 19:51

    用quartz定时器,一般来说需要

    1.将定时任务类交给spring容器
    2.配置jobdetal : 配置需要定时执行的类和方法

    3.配置trigger(触发器): 配置时间以及jobdetal关系 (用cron表达式,也叫七子表达式)

    4.配置定时任务管理器: 触发器有可能会有多个,需要统一管理

    打赏 评论

相关推荐 更多相似问题