0 0

mysql存储过程循环插入0

BEGIN

declare numareaId int(10);
declare currentareaId int(10);
declare typesIdx int(10);

SELECT COUNT(areaId),MIN(areaId) INTO @a,@b FROM option_area_info;
select max(idx) INTO @iTypesIdx from types;

SET typesIdx=@iTypesIdx;
SET numareaId=@a;
SET currentareaId=@b;

loop1:WHILE numareaId>0 DO

SET @AID = currentareaId;


select date_format(current_date(),'%y-%m-%d %23:%55:%00') INTO @cTime;

select current_date() INTO @curTime;

      loop2:WHILE typesIdx>0 DO
            select types,subType INTO @iTypes,@iSubType from types where idx=typesIdx;
            insert into game_con (areaId,mainChannel,channel,types,subType,useCount,useInputCount,useUnInputCount,conGold,conGmoney,conMilitary,conPubScore,conPst,createTime) values (
            currentareaId,
            1000,
            1000,
            @iTypes,
            @iSubType,
            (select count(playerId) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (select count(playerId) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType and vip>0),
            (select count(playerId) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType and vip=0),
            (select sum(ggold) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (select sum(gmoney) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (select sum(military) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (select sum(military) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (select sum(pubScore) from log_consumption where createTime>=@curTime and createTime<=@cTime and areaId=@AID and types=@iTypes and subType=@iSubType),
            (NOW()));
    SET typesIdx=typesIdx-1;
    end WHILE loop2;

SET numareaId=numareaId-1;
SET currentareaId=currentareaId+1;

END WHILE loop1;

END



option_area_info 表里边有连个区,1区 和2区。但是我写的这个存储过程为什么直插入了1区,却不能插入2区?是因为我嵌套的问题么?
2013年6月16日 12:13
目前还没有答案

相关推荐

    MySQL循环插入千万级数据

    1、创建测试表 CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_...2、创建一个循环插入的存储过程 CREATE DEFINER=`root`@`localhost` PROCEDURE `test_two1`( ) BEGIN DECLARE i INT DEFAU

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

    MySQL实现创建存储过程并循环添加记录的方法

    创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在MySQL中实现这一功能。 首先,我们需要了解存储过程的基本创建方法。在MySQL中,我们使用`CREATE ...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

    MySQL存储过程.rar

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复执行的单元,极大地提高了数据库操作的效率和便捷性。在MySQL中,存储过程可以包含复杂的业务逻辑,比如条件...

    MySQL存储过程 MySQL存储过程

    ### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...

    用SQL批量插入数据的存储过程

    循环插入: 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter &lt; 2) /*设置循环次数*/ BEGIN WAITFOR DELAY ‘000:00:10’ /*延迟时间10秒*/ INSERT INTO time_by_day (time_...

    mysql存储过程_游标_项目练习

    MySQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集,它可以被保存和重复使用,提高了数据库的效率和可维护性。在本项目实践中,我们将深入学习和运用MySQL的存储过程,同时结合游标这一重要工具进行...

    Mysql存储过程循环内嵌套使用游标示例代码

    总结来说,这个示例展示了如何在MySQL存储过程中使用游标进行循环处理,并在循环内部再次嵌套游标以实现更精细的数据操作。这种技术在处理大量数据或执行复杂逻辑时非常有用,尤其是在需要逐行检查和处理数据的情况...

    百万数据批量插入存储过程

    mysql 数据库已存储过程插入一千万条测试数据!利用项目即将上限需要,可以完全系统的测试项目性能!里面又完整的文档和各项说明:打开文档就可以实际操作。

    mysql触发器+存储过程

    文件“MySQL存储过程.pdf”和“OReilly.MySQL.Stored.Procedure.Programming.rar”可能会提供关于如何创建、调用和管理MySQL存储过程的详细指南,而“MySQL触发器.rar”则可能包含触发器的创建、使用和优化方面的...

    mysql循环添加数据(存储详细)

    2. **记录执行时间**:使用MySQL自带的时间函数或外部工具记录整个插入过程所消耗的时间。 3. **清理数据**:为了确保测试环境的一致性,每次测试后都需要清除已插入的数据。这可以通过执行`DELETE FROM`或`TRUNCATE...

    java操作mysql存储过程的例子.doc

    总结,Java操作MySQL存储过程的关键在于使用`CallableStatement`,它允许我们调用数据库中的存储过程并传递参数。在执行前,需要确保正确建立了数据库连接,并且已经创建了所需的存储过程。在处理完存储过程后,别忘...

    mysql存储例程、存储过程、存储函数进阶学习

    MySQL存储例程,包括存储过程和存储函数,是数据库管理中的重要组成部分,它们极大地提高了数据库应用的效率和灵活性。在进阶学习中,我们需要深入理解这些概念及其在实际开发中的应用。 1. **存储过程**:存储过程...

    mysql5存储过程

    一个典型的MySQL存储过程包含以下要素: - **过程名称**:唯一标识存储过程的名称,用于调用。 - **参数列表**:定义存储过程的输入和输出参数,包括类型和模式(IN、OUT或INOUT)。 - **变量声明**:在存储过程中...

    mysql存储过程基础之遍历多表记录后插入第三方表中详解

    MySQL存储过程是一种预编译的SQL语句集合,用于执行复杂的数据库操作,如遍历多表记录并插入到第三方表中。在本教程中,我们将探讨如何创建和使用存储过程来实现这一目标。 首先,存储过程的主要优点在于它可以提高...

    mysql存储过程 游标 循环使用介绍

    总结来说,MySQL存储过程中的游标和循环机制提供了强大的数据处理能力。通过游标,我们可以逐行处理数据,结合循环结构,能够灵活地实现复杂的数据操作逻辑。在实际应用中,这些工具常用于批量插入、更新、计算统计...

    MySQL 5.0存储过程

    MySQL 5.0存储过程是数据库管理中的一个重要概念,它是一种预编译的SQL语句集合,可以在数据库中被封装并作为一个独立的可执行单元。存储过程极大地提高了数据库的性能和安全性,因为它减少了网络流量,使得多次使用...

    MySQL存储过程实例教程详解.docx

    MySQL存储过程是数据库管理系统提供的一种高级程序设计语言,允许用户在数据库中封装一系列复杂的操作,以便重复使用。在MySQL 5.0及后续版本中,存储过程被引入,极大地提升了数据库管理和应用程序的效率。本教程将...

    MySQL5.0存储过程

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

Global site tag (gtag.js) - Google Analytics