mysql游标表间数据迁移_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表...

-- 大表数据迁移,每天凌晨1点到5点执行,执行间隔时间10分钟,迁移旧数据到历史表。DELIMITER $$

USE `dbx`$$

DROP PROCEDURE IF EXISTS `pro_xx`$$

CREATE PROCEDURE `pro_xx`()

BEGIN

DECLARE p_oalid INT DEFAULT 0;

DECLARE STOP INT DEFAULT 0;

DECLARE cur_oalid CURSOR FOR

SELECToal.id FROM oal_xxx oal WHERE oal.`ymd`

DAY(DATE_ADD(NOW(),INTERVAL-1 MONTH ))) LIMIT 1000;

DECLARE EXIT HANDLER FOR SQLSTATE '02000' /**包含游标not found*/

BEGIN

SET STOP=1;

INSERTINTO db_logs(log_type,table_name,action_name,log_msg,create_time)

SELECT1, 'oal_xxx','pro_oal_log_move',CONCAT('primary key:',p_oalid,' 游标执行正常结束!'),NOW();

END;

DECLARE EXIT HANDLER FOR SQLEXCEPTION

BEGIN

SETSTOP=1;

INSERTINTO db_logs(log_type,table_name,action_name,log_msg,create_time)

SELECT2, 'oal_xxx','pro_oal_log_move',CONCAT('primary key:',p_oalid,' 移动执行失败'),NOW();

END;

OPEN cur_oalid;

--读取一行数据到变量FETCH cur_oalid INTO p_oalid;

--这个就是判断是否游标已经到达了最后WHILE STOP <> 1 DO

-- select p_id;

START TRANSACTION;

--进行数据迁移REPLACE INTO oal_xxx_history SELECT oal.*FROM oal_xxx oal WHERE oal.id=p_oalid ;

DELETE FROM oal_xxx WHERE id=p_oalid;

-- INSERT INTO t (tid) VALUES (p_tid);

COMMIT;

--读取下一行的数据FETCH cur_oalid INTO p_oalid;

END WHILE;

CLOSE cur_oalid; -- 关闭游标

END$$

DELIMITER ;

以上就是MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表 的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

震惊!2021年数十个技术领域图谱曝光,包含Golang、区块链、人工智能、架构师等领域学习路线

前言:不知道你是否和我一样,刚开始学习某个技术领域的时候缺乏坚持的动力,没有一个清晰的学习路线,学习的过程中没有人指导,遇到问题没人一起解答,想深入学习某个领域而又无从下手,不知道该从何处学起?这不,你想要的技术图谱来啦。有了这款武功秘籍,不光能开阔视野,…

eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3解决方案...

pom文件提示信息&#xff1a; Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.4.3 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has el…

70多套java必练项目,适合小白上手!

导读&#xff1a;这些项目不管是找工作练手&#xff0c;还是公司使用当作模板进一步改进&#xff0c;亦或者是当作毕业设计&#xff0c;都很有借鉴意义&#xff01; 编译器建议使用&#xff1a;IDEA,Myeclipse,eclipse,HB-X等都可以。 数据库建议使用&#xff0c;mysql,oracle,…

mysql mycat 路由规则_Mycat分库路由规则

Mycat分库路由规则发布时间&#xff1a;2020-06-15 16:54:10来源&#xff1a;51CTO阅读&#xff1a;11651作者&#xff1a;lzf05303774一、Mycat分库路由分为连续路由和离散路由。1、连续路由&#xff1a;(1)、常用的路由方式&#xff1a;auto-sharding-long、sharding-by-date…

jsf集成spring_Spring和JSF集成:导航

jsf集成spring我希望这是有关我在Spring和JavaServer Faces之间提供深度集成的努力的一系列博客中的第一篇。 这里提到的所有内容都是“正在进行中的工作”&#xff0c;因此&#xff0c;如果您签出代码&#xff0c;请注意它是一个不断变化的目标。 期待一些粗糙的边缘&#xff…

关于 asp.net 点击确定按钮 获取不到新值问题

点击事件内&#xff0c;可以使用request.form[" kk"] 获取到值&#xff0c;但是this.txt.Text 确实旧值&#xff0c; 尼玛&#xff0c;居然没加isPostBack重新加载了数据 &#xff0c;request 并没有更改&#xff0c;就是这样。转载于:https://www.cnblogs.com/yZDn/…

孙叫兽CSDN社区云----WebIT已创建,欢迎大家前端全栈小伙伴踊跃加入

目录 社区云是什么&#xff1f; 创建CSDN社区云WebIT的目的 推荐分享的技术点&#xff08;如下图所示&#xff09; 社区成员权益 版主权益 管理员权益 WebIT社区云积分规则 WebIT优质版主及管理员可以申请直播分享前端技术 WebIT社区云将为社区运营者提供&#xff1a; …

navicat for mysql服务_使用Navicat for MySQL数据库连接服务器中的MySQL服务

本文主要向大家介绍了使用Navicat for MySQL数据库连接服务器中的MySQL服务&#xff0c;通过具体的内容向大家展现&#xff0c;希望对大家学习MySQL数据库有所帮助。第一步&#xff1a;登录mysql服务器&#xff0c;新建一个用户。在mysql安装中&#xff0c;默认的有root用户&am…

迭代器设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入研究大量的设计模式&#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因&#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 &#xff01; 目录 …

noip2013 花匠

P1970 花匠 338通过834提交题目提供者该用户不存在标签动态规划2013NOIp提高组难度普及/提高-提交该题 讨论 题解 记录 最新讨论 一个问题均分&#xff1a; 126.3题目描述 花匠栋栋种了一排花&#xff0c;每株花都有自己的高度。花儿越长越大&#xff0c;也越来越挤。栋栋决定 …

mysql 触发器示例_MySQL触发器示例

触发器是与表有关的数据库对象&#xff0c;在满足定义条件时触发&#xff0c;并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。创建触发器CREATE TRIGGER trigger_name trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_s…

文件系统、mkdir、touch、nano、cp笔记

文件系统&#xff1a;rootfs: 根文件系统FHS&#xff1a;Linux发行版目录层级遵循协议/boot: 系统启动相关的文件&#xff0c;如内核、initrd&#xff0c;以及grub(bootloader)引导加载器/dev: 设备文件 设备文件&#xff1a; 块设备&#xff1a;随机访问&#xff0c…

uibinder表单提交_使用UIBinder的GWT自定义按钮

uibinder表单提交这是一个有关如何在GWT上使用UIBinder创建自定义按钮的示例。 public class GwtUIBinderButton implements EntryPoint {public void onModuleLoad() {Button button new Button();button.setText("Button");button.addClickHandler(new ClickHandl…

Java 实现常见排序算法

Java 实现常见排序算法 1. 综述 复习常见排序算法&#xff0c;用Java实现。 2. 代码 1 package cn.edu.tju.scs;2 3 public class Sort {4 public static void main(String [] args){5 6 int[] intArray {3, 5, 1, 4, 7, 9, 8, 2, 6};7 System.ou…

python用import xlwt出现红字_如何用python处理excel

最近看到有很多的python课程是教人怎么用python处理excel,我看了一下价格收费还贼高...这么初级毫无水平的操作我的粉丝们就不要花钱去报课程了..我免费教你们怎么做.首先我们先要安装两个模块,一个叫做xlrd,一个是xlwt.安装如下:打开cmd输入pip install xlrd等待安装成功,成功…

什么是升职率?

我确实相信您熟悉彼得原则 。 一般而言&#xff0c;该原则是一种观察&#xff0c;即晋升可能并且将导致晋升人员不再符合该职位的条件。 对于JVM&#xff0c;存在类似的问题。 太快地提升对象可能会对性能产生重大影响。 在这篇文章中&#xff0c;我们将探讨提升率的概念&…

mysql自增id用完了_MySQL表自增id用完了该怎么办?

我们知道MySQL表可以定义一个自增长的id&#xff0c;如果我们的表没有指定主键字段&#xff0c;那MySQL会给我们的表创建一个不可见的&#xff0c;长度为6个自己的row_id&#xff0c;然后不停地往上加步长&#xff0c;虽然生活中自然数是没有上限的&#xff0c;但是在计算机里&…

jmeter插件监控cpu小节点

JMeter使用plugins插件进行服务器性能监控 性能测试时&#xff0c;我们的关注点有两部分 1 服务本身&#xff1a;并发响应时间 QPS 2 服务器的资源使用情况&#xff1a;cpu memory I/O disk等 JMeter的plugins插件可以实现对"二"的监控&#xff0c;具体操作步骤如下(…

mysql写入监控_zabbix监控mysql操作

说明&#xff1a;配置zabbix自带Mysql模板# 创建目录mkdir /var/lib/zabbix# 创建连接数据库文件touch /var/lib/zabbix/.my.cnf# 写入数据连接信息[client]host 192.168.0.148user rootpassword 123dffsdfs# 创建监控项文件touch /etc/zabbix/zabbix_agentd.conf.d/userpar…

openshift_云上的播放框架变得简单:Openshift模块

openshift仅仅几年前&#xff0c;找到一个负担得起的Java Web应用程序托管解决方案是一项艰巨的任务&#xff0c;而寻找免费的托管解决方案是一项不可能的任务。 更不用说考虑自动缩放&#xff0c;单命令部署&#xff0c;持续集成等问题了&#xff0c;这简直就是科幻小说。 去年…