MySQL创建存储过程,事件定时执行

news/2024/7/7 21:56:36

MySQL创建存储过程,事件定时执行

创建存储过程

  1. Procedure格式

    CREATE
        [DEFINER = { user | CURRENT_USER }]
     PROCEDURE procedure_name([[IN |OUT |INOUT ] 参数名 数据类形...])
    BEGIN
        [characteristic ...] routine_body
    END [end_label]
    
    
    • IN 输入参数:调用者项存储过程传入值
      OUT 输出参数: 过程向调用者传出值 \
      INOUT 输入输出参数

    • 变量
  2. 样例

    复制表,并同步数据

    create procedure data_sync()
    begin
    		-- 变量定义
        declare sourceTableName varchar(50);
        declare tableName varchar(50);
        select 'td_counter' into sourceTableName;
        select concat(sourceTableName, '_', date_format(now(), '%Y_%m_%d')) into tableName;
        -- 变量赋值
        set @stmt = concat('create table ', tableName, ' like ', sourceTableName, ';');
        prepare stmt from @stmt;
        execute stmt;
        set @copyData = concat('insert into ', tableName, ' select * from ', sourceTableName, ';');
        prepare copyData from @copyData;
        execute copyData;
    end;
    
  3. 存储过程调用

    call data_sync();

创建定时执行事件

  1. 创建事件

    create event event_data_sync on schedule
        -- 每天执行
        every 1 day
        -- 不过期
        on completion preserve
        -- 启用
        enable
        comment '数据同步'
        -- 调用存储过程
        do call data_sync();
    
  2. 查看事件

    show events;

  3. 删除事件

    drop event even_name;

  4. 开启事件调度开关

    set global event_scheduler = 1;
    开启后所有事件才能生效

  5. 禁用事件

    alter even even_name disable | enable;


http://lihuaxi.xjx100.cn/news/9652.html

相关文章

国产RK3399开发板如何在Ubuntu保留文件系统

文章来源:飞凌嵌入式官网http://www.forlinx.com在Ubuntu系统的嵌入式设备开发过程中,保留文件系统或者说备份当前开发板镜像的需求在不断增加。 比如Ubuntu文件系统需要安装库文件的话直接使用apt-get工具就可以下载,但由于需要下载的核心板…

只因程序员写了一段爬虫,公司200人被端,是种什么体验?

​只因程序员写了一段爬虫,公司200人被端是种什么体验,很多人的第一反应可能都是不可能,作为程序员谁还没写过几段爬虫,不过这次可不是乱编的。 事情的起因是这样,某一个知名互联网公司,突然发现公司的服务…

【Python刷题篇】——Python入门 010 内置函数(三)

🤵‍♂️ 个人主页: 北极的三哈 个人主页 👨‍💻 作者简介:Python领域新星创作者。 📒 系列专栏:《牛客题库-Python篇》 🌐推荐《牛客网》——找工作神器|笔试题库|面试经验|实习经验内推&am…

【译】为什么Kotlin Synthetics被废弃了?我们用什么来替代?

原文链接 比较 data binding,view binding,Kotlin Synthetics和findViewById 到底要用哪一个? 最近随着Kotlin 1.4.20版本的发布,Android官方宣布将废弃Kotlin Extension的Gradle插件,并且在后续的Kotlin Release版本也…

2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】D题:气象报文信息卫星通信传输

解题思路及完整论文后续补充 比赛规则及比赛指导大家可移步2022年高教社杯全国大学生数学建模竞赛-【比赛规则篇】比赛规则及比赛指导 因为数模国赛期间比较敏感,相关附件数据无法上传,需要赛题及附件数据的可在订阅后截图私信博主。 赛题描述 在某些紧急救援任务中,需要…

SpringBoot 源码 | applicationContext.refresh() 方法解析

[TOC](SpringBoot 源码 | applicationContext.refresh() 方法解析) SpringBoot 在 SpringBoot 启动流程中,主要的两个阶段是初始化 SpringApplication 对象以及 SpringApplication.run 方法执行的内容,在 SpringApplication.run 中的刷新容器 refreshC…

8. Python 面向对象

1. 初识对象 设计类: class Student:name None创建对象: stu_1 Student() stu_2 Student()对象属性赋值: stu_1.name"tom" stu_2.name "jerry"【例】 class Student:name Noneage Nonegender Nonenationality…

栈和队列的应用 —— 顺序队列

栈和队列的应用 —— 顺序队列 在只有一个车道的单行道上,小汽车呈线性排列,只能从一端进,从另一端出,先进先出(First In First Out,FIFO)。 这种先进先出的线性序列,被称为“队列”…