当前位置: 首页 > article >正文

mysql 存储过程 每天凌晨 定时执行任务(存储过程)

每天凌晨计算上一天的数据,并把结果存储到表中,表名按照日期动态创建

事件

event_alert_level_count

create event event_alert_level_count
on schedule every 1 day starts timestamp(current_date,'00:00:00')
do  call proc_alert_level_count() ;

存储过程

proc_alert_level_count

CREATE DEFINER=`test`@`%` PROCEDURE `proc_alert_level_count`()
BEGIN

	
	DECLARE yesterday CHAR(8) DEFAULT '';
	DECLARE low BIGINT DEFAULT 0;
	
	DECLARE lowCount BIGINT DEFAULT 0;
	
	set yesterday = REPLACE(CURRENT_DATE() - INTERVAL 1 DAY,"-","");
-- 	SELECT yesterday;

	set @sqlStrLow = concat('select count(alert_level) from log_alert_info_', yesterday, ' where alert_level = 1 into @low');
--  SELECT @sqlStrLow;
	PREPARE stmtLow from @sqlStrLow;
	EXECUTE stmtLow; 
	
	DEALLOCATE PREPARE stmtLow;
  SET lowCount = @low;
	
	insert into history_alert_level_count(date_name, low_level) VALUES(yesterday, lowCount);


END

附录

把查询结果传入变量

select id into variable from table

拼接sql字符串并执行

set @sqlStr = concat('select ', variable1, ' from table_', 'variable2');
PREPARE stmt from @sqlStr;
EXECUTE stmt;

在拼接的sql中把查询结果传入变量

set @sqlStrLow = concat('select count(alert_level) from log_alert_info_', yesterday, ' where alert_level = 1 into @low');
--  SELECT @sqlStrLow;

PREPARE stmtLow from @sqlStrLow;
EXECUTE stmtLow; 

DEALLOCATE PREPARE stmtLow;
SET lowCount = @low;

http://www.kler.cn/a/271829.html

相关文章:

  • 【Docker】Prometheus 容器部署及应用
  • SpringCloudGateway之限流集成篇
  • 代码随想录day23(2)二叉树:从中序与后序遍历序列构造二叉树(leetcode106)
  • 【教学类-34-10】20240313 春天拼图(Midjounery生成线描图,4*4格拼图块)(AI对话大师)
  • 【深度学习模型移植】用torch普通算子组合替代torch.einsum方法
  • 圈子社交系统-多人语音-交友-陪玩-活动报名-商城-二手论坛-源码交付,支持二开!
  • C++ 中的虚函数和多态性
  • docker实战(2)
  • 软考76-上午题-【面向对象技术3-设计模式】-创建型设计模式01
  • Oracle 部署及基础使用
  • Matlab/simulink基于模糊PID智能控制的温度控制系统建模仿真
  • 一起玩儿3D打印机——04 Marlin固件的配置(一)
  • Docker出现容器名称重复如何解决
  • 驾驭Docker镜像海洋:Nexus一站式仓库管理解决方案深度解析及实战指南
  • Hadoop学习3:问题解决
  • 【PyQt错误集 - 1】:PyQt调用多线程导致窗口异常退出的问题分析(进程已结束,退出代码 -1073741819 (0xC0000005))
  • 小蓝的漆房——算法思路
  • Blocks —— 《Objective-C高级编程 iOS与OS X多线程和内存管理》
  • 通过对话式人工智能实现个性化用户体验
  • 论文阅读——GeoChat(cvpr2024)