统计存储过程,这里是将统计的结果插入一个表中,后台可以有定时任务来调此存储过程。以下业务是统计仓库中商品流转情况,包括:日期、商品总数、入库数量、出库数量。
BEGIN
DECLARE ES_COR_CODE VARCHAR(20);
-- 需要定义接收游标数据的变量
DECLARE table_ VARCHAR(50);
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur CURSOR FOR SELECT TABLE_NAME FROM (SELECT TABLE_NAME from information_schema.tables WHERE TABLE_NAME LIKE '%wm_item_transfer_%' AND TABLE_SCHEMA='wmscloud_test' ) allTables;
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打开游标
OPEN cur;
-- 开始循环
read_loop: LOOP
-- 提取游标里的数据,这里只有一个,多个的话也一样;
FETCH cur INTO table_;
-- 声明结束的时候
IF done THEN
LEAVE read_loop;
END IF;
SET ES_COR_CODE=substring(table_,18);
SET @INSERT_ITEM_TRANSFER=CONCAT('INSERT INTO wm_item_transfer_',ES_COR_CODE,' (WMIT_DATE,WMIT_STOCK_NUM,WMIT_INTO_ITEM_NUM,WMIT_OUT_ITEM_NUM)
SELECT
(SELECT date_sub(curdate(),interval 1 day) ) WMIT_DATE ,
(SELECT IFNULL(SUM(WMST_NOW_NUMBER),0) FROM wm_stock_',ES_COR_CODE,') WMIT_STOCK_NUM,
(SELECT IFNULL(SUM(WMST_NOW_NUMBER),0) FROM wm_stock_',ES_COR_CODE,' WHERE WMST_RECEIVE_DATE BETWEEN date_sub(curdate(),interval 1 day) AND NOW() ) WMIT_INTO_ITEM_NUM,
(SELECT IFNULL(SUM(WMOO_OUT_NUMBER),0) FROM wm_out_order_',ES_COR_CODE,' where SURE_DATE BETWEEN date_sub(curdate(),interval 1 day) AND NOW() ) WMIT_OUT_ITEM_NUM');
PREPARE INSERT_ITEM_TRANSFER FROM @INSERT_ITEM_TRANSFER;
EXECUTE INSERT_ITEM_TRANSFER;
END LOOP;
-- 关闭游标
CLOSE cur;
END
分享到:
相关推荐
这个小案例展示了如何综合运用SSM框架和Echarts库,从MySQL数据库获取数据并实时显示在网页上的过程。通过这种方式,开发者可以构建出功能强大的数据可视化应用,帮助用户更直观地理解和分析数据。
在IT领域,数据库管理系统是数据存储和处理的核心,而MySQL作为一款开源、免费的关系型数据库管理系统,因其高效、稳定和易用的特点,在处理海量数据时备受青睐。标题提到的“海量数据的MySQL数据集”是一个专门针对...
在MySQL存储过程中,游标通常用于逐行处理结果集,但这种方式在处理大数据量时可能会导致性能下降,因为游标需要多次遍历数据,每次读取一行并执行相关操作。相比之下,创建临时表可以一次性将数据加载到内存中,...
在数据库管理中,经常需要进行数据迁移或者复制操作,特别是在MySQL这样的关系型数据库中,从一个表中查询数据并插入到另一个表是常见的数据处理任务。本篇文章将详细介绍如何使用SQL语句来实现这一过程。 首先,...
综上所述,"多线程文件加锁自动定时查询mysql统计数据"这个任务涵盖了并发编程、文件系统操作、数据库管理和数据分析等多个IT领域的关键知识点,实现这样的系统需要综合运用多种技术和工具。在实际开发过程中,需要...
使用SQL脚本将这些数据导入MySQL数据库的过程包括创建表结构、设置字段类型、插入数据等步骤。这可能涉及`CREATE TABLE`、`INSERT INTO`等SQL语句。 6. **数据维护与更新**: 随着行政区划的调整,这些数据需要...
将全国学校数据导入到MySQL数据库,可以实现数据的结构化存储,支持高效的数据检索、更新和维护。SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,用户可以通过SQL语句进行数据的插入、查询...
你可以创建存储过程来处理批量数据插入、更新或删除,或者实现更复杂的业务操作,比如数据清洗、统计计算等。 在进行数据库优化时,除了索引和存储过程,还有其他因素需要考虑,例如:合理设置数据库参数(如innodb...
在数据.sql文件中,这些数据可能以SQL语句的形式存在,比如`INSERT INTO`语句,用于将数据插入到相应的表中。你可以通过运行这个SQL脚本来填充你的MySQL数据库,以便进行测试或分析。 在处理这样的数据时,你需要...
2. **异步处理**:为避免结转操作影响正常的数据插入性能,结转过程被放在一个异步线程中执行。这样,主业务流程不会因为结转而阻塞。 3. **并发控制**:考虑到并发插入的情况,采用了分布式锁(这里使用了`...
标题中的"Flink实时读取Kafka数据批量聚合(定时/按数量)写入Mysql"是一个典型的实时数据处理场景,涉及到大数据技术栈中的三个关键组件:Apache Flink、Apache Kafka和MySQL。以下是对这些技术及其在该场景下应用...
关系型数据库是许多企业和组织的选择,因为它可以提供强大的数据存储和查询功能。 本例展示了如何使用 MySQL 的 row_number 函数来实现查询用户连续登录天数。这个技术可以应用于各种实际场景,提高数据的可靠性和...
2. 数据计算:使用存储过程进行复杂的数据计算,如统计分析、聚合函数等。 3. 事务处理:存储过程可以包含事务管理,确保数据的一致性和完整性。 4. 触发器关联:存储过程可以作为触发器的一部分,当特定的数据库...
MySQL5.0存储过程是数据库管理系统MySQL中的一个重要特性,它允许开发者定义一组SQL语句,形成一个可重复使用的代码块,以实现特定的功能。在数据库系统中,存储过程可以提高性能,减少网络流量,增强安全性,并提供...
SQL脚本文件通常包含创建表的DDL语句(Data Definition Language)以及可能的数据插入语句(DML,Data Manipulation Language)。使用这些脚本,用户可以将数据导入到自己的MySQL数据库中,从而构建一个完整的中国...
标题和描述中提到的资源是一个包含了全球旅游城市数据的MySQL数据库,可以方便地直接导入并运行SQL语句,总数超过6000条。这个压缩包文件是针对餐饮旅游行业的数据整理,对于分析旅游趋势、餐饮业分布或者进行相关...
`sys_area.sql`文件很可能是用来导入这些数据的SQL脚本,可能包含了创建这些表的DDL语句(CREATE TABLE),以及插入数据的DML语句(INSERT INTO)。这些语句可以帮助快速初始化数据库,为地理位置应用提供基础数据。...
### MySQL数据库在服务器断电后的数据恢复过程 #### 背景介绍 在服务器遭遇突发断电等非正常关机情况下,MySQL数据库可能会受到不同程度的影响,导致数据损坏或丢失。为了确保数据的安全性和完整性,及时有效地进行...
通常,这种类型的文件包含了CREATE TABLE语句来定义表格结构,INSERT INTO语句来插入数据,以及可能的其他数据库操作,如视图、索引或存储过程的创建。 【说明.txt】这个文件可能是数据库的使用指南或者包含了一些...
该存储过程展示了如何在MySQL中使用存储过程结合游标来高效处理大量数据,同时通过异常处理机制来确保数据处理的安全性。此外,还涉及到了日期操作、临时表的使用等实用技术。这对于处理复杂的业务逻辑非常有用,...