zoukankan      html  css  js  c++  java
  • MySql创建存储过程,并使用事件定时调用

    一、使用命令行创建存储过程的步骤 :参数详情参考 https://www.mysqlzh.com/

    1、模板 

    delimiter $$ # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ';' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行
    
    CREATE PROCEDURE 存储过程名称(你的参数可选)
    
    BEGIN  # 开始
    
     // 要写的code 
     // ...
     
    END$$   # 结束
    DELIMITER ; #将语句的结束符号恢复为分号
    

     注意,创建存储过程的时候,如果采用命令行的方式,需要先修改命令结束符,将分号改成其他的符号 

    2、首先我们创建一个表 test_table 里面有主键id,用户名称username,有某个产品数量 counts

    DROP TABLE IF EXISTS `test_table`;
    
    CREATE TABLE `test_table` (
      `id` int(11) NOT NULL,
      `counts` int(11) DEFAULT NULL,
        `username` varchar(64) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    DROP TABLE IF EXISTS `test_table`;的意思是如果当前数据库有test_table这个表就删除这个表。

    3、先插入一条数据

    insert into test_table(id,username,counts) VALUES (1,'张三',6);

    4、创建一个存储过程 pro_demo

    delimiter $$
    
    CREATE PROCEDURE pro_demo(IN p_in int)
    BEGIN
    
     update test_table set counts=counts+p_in where id=1;
    
    END$$ 
    
    DELIMITER ; 

    PROCEDURE 是存储过程的关键字 ,pro_demo 是存储过程名称 (IN p_in int) 中 IN是输入int类型的参数 p_int 

    5、调用存储过程

    call pro_demo(5);

    结果是11 

    6、创建一个事件并定时调用存储过程

    CREATE EVENT `gov_jm`.`event_demo`
    ON SCHEDULE
    EVERY '5' SECOND  STARTS '2021-1-12 00:00:01'
    DO call pro_demo(3);

    EVENT 的是事件关键字,gov_jm是当前数据库名称,event_demo是该事件的名称 5秒中调用一次pro_demo()。

    6.1开启定时器

    set GLOBAL event_scheduler = 1; 

    到这里,定时任务已经可以执行了

    6.2 查看事件运行状态

    select * from mysql.event

    6.3开启或者关闭事件

    ALTER EVENT event_demo DISABLE;

    ALTER EVENT
    event_demo ENABLE;

    二、使用 Navicat for mysql:

    创建存储过程

    点击完成后在打开的界面中 begin里写你的具体内容

    创建事件

    选择完成后点击保存,选择保存的事件名称

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 数的统计
    Java实现 蓝桥杯VIP 算法训练 和为T
    Java实现 蓝桥杯VIP 算法训练 友好数
    Java实现 蓝桥杯VIP 算法训练 连续正整数的和
    Java实现 蓝桥杯VIP 算法训练 寂寞的数
    Java实现 蓝桥杯VIP 算法训练 学做菜
    Java实现 蓝桥杯VIP 算法训练 暗恋
    Java实现 蓝桥杯VIP 算法训练 暗恋
    测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
    RichEdit 各个版本介绍
  • 原文地址:https://www.cnblogs.com/hudean/p/14268559.html
Copyright © 2011-2022 走看看