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(); # 执行存储过程

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

     

    自古英雄出炼狱,从来富贵入凡尘。
  • 相关阅读:
    php redis操作
    textarea 文本框根据输入内容自适应高度
    ThinkPHP5 微信接口对接公共类
    ThinkPHP5 excel 导入/导出
    NGUI 学习使用
    Unity3d 背景、音效 播放 简单demo
    Unity3D教程:制作与载入AssetBundle
    BuildPipeline.BuildAssetBundle 编译资源包
    C# 如何将对象写入文件
    unity3d IO操作
  • 原文地址:https://www.cnblogs.com/yunliu0603/p/10898767.html
Copyright © 2011-2022 走看看