`

MySQL实现统计数据并插入数据的存储过程

阅读更多
统计存储过程,这里是将统计的结果插入一个表中,后台可以有定时任务来调此存储过程。以下业务是统计仓库中商品流转情况,包括:日期、商品总数、入库数量、出库数量。
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实现的从数据库获取数据展示图表

    这个小案例展示了如何综合运用SSM框架和Echarts库,从MySQL数据库获取数据并实时显示在网页上的过程。通过这种方式,开发者可以构建出功能强大的数据可视化应用,帮助用户更直观地理解和分析数据。

    海量数据的MySQL数据集

    在IT领域,数据库管理系统是数据存储和处理的核心,而MySQL作为一款开源、免费的关系型数据库管理系统,因其高效、稳定和易用的特点,在处理海量数据时备受青睐。标题提到的“海量数据的MySQL数据集”是一个专门针对...

    mysql存储过程优化

    在MySQL存储过程中,游标通常用于逐行处理结果集,但这种方式在处理大数据量时可能会导致性能下降,因为游标需要多次遍历数据,每次读取一行并执行相关操作。相比之下,创建临时表可以一次性将数据加载到内存中,...

    mysql 从一个表中查数据并插入另一个表实现方法

    在数据库管理中,经常需要进行数据迁移或者复制操作,特别是在MySQL这样的关系型数据库中,从一个表中查询数据并插入到另一个表是常见的数据处理任务。本篇文章将详细介绍如何使用SQL语句来实现这一过程。 首先,...

    多线程文件加锁自动定时查询mysql统计数据

    综上所述,"多线程文件加锁自动定时查询mysql统计数据"这个任务涵盖了并发编程、文件系统操作、数据库管理和数据分析等多个IT领域的关键知识点,实现这样的系统需要综合运用多种技术和工具。在实际开发过程中,需要...

    mysql 全国省市区3级数据 和 4级数据 (sql脚本).rar

    使用SQL脚本将这些数据导入MySQL数据库的过程包括创建表结构、设置字段类型、插入数据等步骤。这可能涉及`CREATE TABLE`、`INSERT INTO`等SQL语句。 6. **数据维护与更新**: 随着行政区划的调整,这些数据需要...

    全国学校数据表格加mysql数据库.rar

    将全国学校数据导入到MySQL数据库,可以实现数据的结构化存储,支持高效的数据检索、更新和维护。SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,用户可以通过SQL语句进行数据的插入、查询...

    七百万mysql测试数据

    你可以创建存储过程来处理批量数据插入、更新或删除,或者实现更复杂的业务操作,比如数据清洗、统计计算等。 在进行数据库优化时,除了索引和存储过程,还有其他因素需要考虑,例如:合理设置数据库参数(如innodb...

    mysql测试数据新闻数据城市数据

    在数据.sql文件中,这些数据可能以SQL语句的形式存在,比如`INSERT INTO`语句,用于将数据插入到相应的表中。你可以通过运行这个SQL脚本来填充你的MySQL数据库,以便进行测试或分析。 在处理这样的数据时,你需要...

    java+sql实现mysql数据表的数据结转(csdn)————程序.pdf

    2. **异步处理**:为避免结转操作影响正常的数据插入性能,结转过程被放在一个异步线程中执行。这样,主业务流程不会因为结转而阻塞。 3. **并发控制**:考虑到并发插入的情况,采用了分布式锁(这里使用了`...

    Flink实时读取Kafka数据批量聚合(定时按数量)写入Mysql.rar

    标题中的"Flink实时读取Kafka数据批量聚合(定时/按数量)写入Mysql"是一个典型的实时数据处理场景,涉及到大数据技术栈中的三个关键组件:Apache Flink、Apache Kafka和MySQL。以下是对这些技术及其在该场景下应用...

    关系型数据库+Mysql+查询用户连续登陆天数+数据统计

    关系型数据库是许多企业和组织的选择,因为它可以提供强大的数据存储和查询功能。 本例展示了如何使用 MySQL 的 row_number 函数来实现查询用户连续登录天数。这个技术可以应用于各种实际场景,提高数据的可靠性和...

    MySQL5存储过程

    2. 数据计算:使用存储过程进行复杂的数据计算,如统计分析、聚合函数等。 3. 事务处理:存储过程可以包含事务管理,确保数据的一致性和完整性。 4. 触发器关联:存储过程可以作为触发器的一部分,当特定的数据库...

    MySQL5.0存储过程

    MySQL5.0存储过程是数据库管理系统MySQL中的一个重要特性,它允许开发者定义一组SQL语句,形成一个可重复使用的代码块,以实现特定的功能。在数据库系统中,存储过程可以提高性能,减少网络流量,增强安全性,并提供...

    中国省份和城市数据(mysql数据库)

    SQL脚本文件通常包含创建表的DDL语句(Data Definition Language)以及可能的数据插入语句(DML,Data Manipulation Language)。使用这些脚本,用户可以将数据导入到自己的MySQL数据库中,从而构建一个完整的中国...

    2020最新mysql数据库地理位置数据,包含省市区街道,及编码,数据结构到街道

    `sys_area.sql`文件很可能是用来导入这些数据的SQL脚本,可能包含了创建这些表的DDL语句(CREATE TABLE),以及插入数据的DML语句(INSERT INTO)。这些语句可以帮助快速初始化数据库,为地理位置应用提供基础数据。...

    MySQL数据库在服务器断电后进行数据恢复的过程说明

    ### MySQL数据库在服务器断电后的数据恢复过程 #### 背景介绍 在服务器遭遇突发断电等非正常关机情况下,MySQL数据库可能会受到不同程度的影响,导致数据损坏或丢失。为了确保数据的安全性和完整性,及时有效地进行...

    最新全国省市区县(含港澳台)的mysql数据表

    2. **数据导入**:文件名“中国地区省市县(含港澳台)的mysql生成语句”可能是一个SQL脚本,用于一次性插入所有数据。执行这个脚本会创建所需的表格并填充数据。这涉及到SQL的`CREATE TABLE`、`INSERT INTO`等语句...

    美国城市地区Mysql数据库

    通常,这种类型的文件包含了CREATE TABLE语句来定义表格结构,INSERT INTO语句来插入数据,以及可能的其他数据库操作,如视图、索引或存储过程的创建。 【说明.txt】这个文件可能是数据库的使用指南或者包含了一些...

    mysql游标存储过程例子

    该存储过程展示了如何在MySQL中使用存储过程结合游标来高效处理大量数据,同时通过异常处理机制来确保数据处理的安全性。此外,还涉及到了日期操作、临时表的使用等实用技术。这对于处理复杂的业务逻辑非常有用,...

Global site tag (gtag.js) - Google Analytics