`
cocos
  • 浏览: 404201 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

mysql 数据迁移用的一个存储过程

阅读更多
DELIMITER $$
USE `servant_591up`$$
DROP PROCEDURE IF EXISTS `sp_move_data`$$
CREATE  PROCEDURE `sp_move_data`()
BEGIN
DECLARE v_exit INT DEFAULT 0;
DECLARE v_spid BIGINT;
DECLARE v_id BIGINT;
DECLARE i INT DEFAULT 0;
DECLARE c_table INT;
DECLARE v_UniqueKey VARCHAR(57);
DECLARE v_TagCatalogId INT;
DECLARE v_RootCatalogId INT;
DECLARE v_UserId BIGINT;
DECLARE v_QuestionId CHAR(36);
DECLARE v_CorrectCount  INT;
DECLARE v_ErrorCount INT;
DECLARE v_LastIsCorrect INT;
DECLARE v_LastAnswerXML TEXT CHARSET utf8;
DECLARE v_TotalCostTime INT;
DECLARE v_Reviews VARCHAR(200) CHARSET utf8;
DECLARE v_AnswerResultCategory INT;
DECLARE v_LastCostTime INT;
DECLARE v_LastAnswerTime DATETIME;
DECLARE v_IsPublic INT;
DECLARE v_SUBJECT INT;
DECLARE v_TotalCount INT;
DECLARE v_AnswerMode SMALLINT(6);
DECLARE v_ExerciseWeight FLOAT;
DECLARE c_ids CURSOR FOR SELECT UniqueKey,TagCatalogId,RootCatalogId,UserId,QuestionId,CorrectCount,ErrorCount,LastIsCorrect,LastAnswerXML,TotalCostTime,Reviews,AnswerResultCategory,LastCostTime,LastAnswerTime,IsPublic,SUBJECT,TotalCount,AnswerMode,ExerciseWeight FROM ol_answerresult_56;
DECLARE  CONTINUE HANDLER FOR NOT FOUND SET v_exit=1;
OPEN c_ids;
REPEAT
FETCH c_ids INTO v_UniqueKey,v_TagCatalogId,v_RootCatalogId,v_UserId,v_QuestionId,v_CorrectCount,v_ErrorCount,v_LastIsCorrect,v_LastAnswerXML,v_TotalCostTime,v_Reviews,v_AnswerResultCategory,v_LastCostTime,v_LastAnswerTime,v_IsPublic,v_SUBJECT,v_TotalCount,v_AnswerMode,v_ExerciseWeight;
IF v_exit = 0 THEN
SET @vv_id = v_id;
SELECT MOD(v_UserId,100) INTO c_table;
SET @SQL_CONTEXT =
CONCAT('INSERT INTO new_answerresult_',
c_table,'
(UniqueKey,TagCatalogId,RootCatalogId,UserId,QuestionId,CorrectCount,ErrorCount,LastIsCorrect,LastAnswerXML,TotalCostTime,Reviews,AnswerResultCategory,LastCostTime,LastAnswerTime,IsPublic,SUBJECT,TotalCount,AnswerMode,ExerciseWeight)values(',
'''',v_UniqueKey,'''',',',
v_TagCatalogId,',',
v_RootCatalogId,',',
v_UserId,',',
'''',v_QuestionId,'''',',',
v_CorrectCount,',',
v_ErrorCount,',',
v_LastIsCorrect,',',
'''',v_LastAnswerXML,'''',',',
v_TotalCostTime,',',
'''',REPLACE(IFNULL(v_Reviews,''),'''',''),'''',',',
v_AnswerResultCategory,',',
v_LastCostTime,',',
'''',v_LastAnswerTime,'''',',',
v_IsPublic,',',
v_SUBJECT,',',
v_TotalCount,',',
v_AnswerMode,',',
v_ExerciseWeight,')');
PREPARE STMT FROM @SQL_CONTEXT;
EXECUTE STMT ;
DEALLOCATE PREPARE STMT;
END IF;
SET i=i+1;
#100
#IF MOD(i,100)=0 THEN COMMIT;
#END IF;
UNTIL v_exit=1
END REPEAT;
CLOSE c_ids;
#COMMIT;
END$$
DELIMITER ;
分享到:
评论

相关推荐

    mysql数据迁移,本资源用shell脚本自动完成,人机交互

    MySQL数据迁移是一个重要的任务,特别是在系统升级、环境切换或数据备份恢复时。在这个过程中,我们需要确保数据的完整性和一致性,而使用Shell脚本自动化这个过程可以大大提高效率并减少人为错误。下面将详细介绍...

    MySQL数据迁移到postgresql必备手册.pdf

    MySQL到PostgreSQL的数据... 将MySQL数据迁移到PostgreSQL是一个涉及多个步骤的过程,使用像Navicat Premium这样的工具可以简化这一过程。正确配置和执行迁移任务,结合有效的学习资源,可以确保迁移的成功并降低风险。

    关于MySQL数据迁移--data目录直接替换注意事项的详解

    在传统的MySQL数据迁移中,通常使用`mysqldump`工具进行数据库的备份和恢复,但当数据量巨大时,这种方法可能会耗费大量时间。为了提高效率,可以尝试直接替换`data`目录的方法。这种方法适用于相同版本的MySQL...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    总结来说,从MySQL到Oracle的数据迁移是一个涉及多个步骤的过程,需要正确配置和管理数据库环境,确保用户和表空间设置正确,并且使用像SQL Developer这样的工具来简化迁移。在迁移过程中遇到问题时,要逐一排查,如...

    MySQL表数据迁移

    由于描述中提到了访问地址http://localhost/datamove.html,我们可以推测这是一个基于Web的MySQL数据迁移工具,用户界面友好,便于非技术人员使用。 首先,我们需要了解数据迁移的基本概念。数据迁移是将数据从一个...

    DataX数据的迁移(MySQL、HDFS,Hive)

    1.数据迁移的过程中,由于hive的Null值存储为"\N",Mysql存储为NULL值,二者转换时需要注意,再数据迁移json模板中,"nullFormat": "\\N", 该配置信息就是解决了数据迁移是存在的Null值。 2.如果hive中没有数值DataX...

    MySQL数据迁移到MSSQL

    MySQL到MSSQL的数据迁移是一项常见的数据库操作,特别是在企业级应用中,可能因为业务需求、性能优化或系统整合等原因需要进行这种迁移。本篇将详细阐述如何从MySQL数据库高效、安全地迁移到Microsoft SQL Server...

    修改MySQL数据存储位置

    ### 修改MySQL数据存储位置 #### 知识点一:为何要修改MySQL数据存储位置 在IT运维工作中,经常需要对数据库进行维护管理。当数据库的数据量逐渐增大时,可能会遇到服务器磁盘空间不足的问题,尤其是在操作系统...

    migration:瀚高数据库迁移工具,用于多种数据库类型(mysql、oracle等)迁移到瀚高数据库

    一、数据库迁移——MySQL举例 1、解压 migration-4.1.4-2023-11-23.zip 2、打开 migration 工具 3、点击帮助菜单,可查看使用说明文档,如下图所示 二、迁移步骤: 1、新建组,随便起名。 2、数据库连接,新建 源库 ...

    从mysql数据库迁移至sqlserver数据库

    在数据库管理领域,数据迁移是一项常见的任务,尤其在企业中,由于业务需求或者技术选型的变化,可能需要将数据从一个数据库系统迁移到另一个。本案例中,我们关注的是从MySQL数据库向SQL Server数据库的迁移过程,...

    mysql数据迁移到mysql源代码.zip

    这个“mysql数据迁移到mysql源代码.zip”文件可能包含了一系列步骤、脚本或工具,帮助用户实现这一过程。 首先,我们需要了解MySQL的数据迁移通常涉及以下几个关键环节: 1. **数据备份**:在进行任何迁移操作之前...

    oracle Mysql相互转化的工具

    压缩包中的“mysql-oracle数据转换工具”很可能是一个实现以上功能的软件,用户可以根据实际需求选择合适的工具进行数据迁移工作。在使用前,应详细了解工具的特性和限制,以确保迁移过程的顺利进行。此外,进行...

    sqlServer 数据迁移 mysql教程

    总之,从SQL Server到MySQL的数据迁移是一个涉及多个环节的过程,需要谨慎操作,确保数据的完整性和系统的稳定性。通过正确的工具和步骤,可以有效地完成这个任务。在实际操作中,还需要根据具体环境和需求进行调整...

    mysql中用于数据迁移存储过程分享

    总结来说,这个`sp_move_data`存储过程是针对MySQL数据库进行大规模数据迁移的一个实例,利用游标和动态SQL,实现了高效且灵活的数据分片和迁移。这样的方法在处理大量数据时尤其有用,因为它允许批量操作,减少单次...

    PHP将数据从Oracle向Mysql数据迁移的技术要领

    7. **数据迁移**:在建立了目标表结构后,使用PHP读取Oracle数据并插入到MySQL中,这一步可能需要处理数据格式的转换,确保数据的完整性和一致性。 8. **测试验证**:迁移完成后,务必进行全面的功能和数据验证,...

    mysql完全迁移到sqlserver.docx

    这种方法适用于小规模数据迁移,对于大量数据,推荐编写存储过程或使用专门的数据迁移工具,以提高效率和处理复杂情况。 6. 存储过程的应用: 在数据迁移过程中,如果表数量庞大,可以创建存储过程来自动化数据导入...

    kettle批量导出mysql存储过程

    在IT行业中,数据库管理和数据迁移是一项重要的任务,尤其是在大规模系统中。Kettle(Pentaho Data Integration,简称PDI)是一款强大的ETL工具,能够帮助我们处理数据抽取、转换和加载的各种需求。在这个场景中,...

    oracle sql developer数据迁移

    这个过程需要使用 Oracle SQL Developer 工具,该工具提供了强大的数据迁移功能,可以快速地将 MySQL 数据库迁移到 Oracle 数据库。 下载和安装 Oracle SQL Developer 首先,需要下载 Oracle SQL Developer 的...

    MySQL数据库迁移data文件夹位置详细步骤

    在MySQL数据库的管理过程中,有时需要对数据库的数据文件夹进行迁移,以满足数据安全、存储空间或性能优化的需求。本篇将详细介绍如何迁移MySQL的`data`文件夹,即数据库的数据存储位置。 首先,MySQL数据库在Linux...

Global site tag (gtag.js) - Google Analytics