zoukankan      html  css  js  c++  java
  • 项目中遇到的问题05-mysql执行定时器任务

    1.事件

    2.函数

    3.存储过程。

    mysql 生成定时事件任务,调用存储过程,存储过程中执行要操作的函数,则定时任务算是完成。

    自己写的一个规范的存储过程 ,

    DELIMITER $$

    USE `jdautoshop`$$

    DROP PROCEDURE IF EXISTS `P_EAP_SHOP_GOODS`$$

    CREATE DEFINER=`root`@`%` PROCEDURE `P_EAP_SHOP_GOODS`()
    BEGIN
    DECLARE P_GOODS_ID VARCHAR(36);
    DECLARE P_ENDDATE VARCHAR(20);
    DECLARE s INT DEFAULT 0;
    DECLARE shop_list CURSOR FOR SELECT GOODS_ID,ENDDATE FROM `jdautoshop`.`shop_goods`; # 定义游标,将查询的数据放入shop_list中
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1; # 用作循环的标记

    OPEN shop_list; # 打开游标
    FETCH shop_list INTO P_GOODS_ID,P_ENDDATE; #将游标中的数据放入变量中
    WHILE s <> 1 DO
    SELECT `F_EAP_WF_SHOP_GOODS01`(P_ENDDATE,P_GOODS_ID); #调用函数(里面是操作sql方式)
    FETCH shop_list INTO P_GOODS_ID,P_ENDDATE;
    END WHILE;
    CLOSE shop_list; #关闭游标

    END$$

    DELIMITER ;

    CALL P_EAP_SHOP_GOODS(); # 执行存储过程

     手动执行存储过程是可以的,但是事件的定时任务没起到做用,所以事件没起到定时作用,具体原因还未找到???

     

    自古英雄出炼狱,从来富贵入凡尘。
  • 相关阅读:
    work 2
    chapter02
    7.23作业
    第五章
    三层交换机
    基于nginx结合openssl实现https
    chapter10--进程和计划任务管理
    Linux系统管理08--服务器RAID及配置实战
    chapter07-- LVM逻辑卷
    Linux系统管理07--文件系统与LVM
  • 原文地址:https://www.cnblogs.com/yunliu0603/p/10898767.html
Copyright © 2011-2022 走看看