mysql存储过程表迁移for_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`
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存储过程表迁移for_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表 (转)...相关推荐
- mysql游标表间数据迁移_MySQL存储过程--通过游标遍历和异常处理迁移数据到历史表...
-- 大表数据迁移,每天凌晨1点到5点执行,执行间隔时间10分钟,迁移旧数据到历史表.DELIMITER $$ USE `dbx`$$ DROP PROCEDURE IF EXISTS `pro_xx ...
- mysql游标表间数据迁移_FalseMySQL存储过程--gt;通过游标遍历和异常处理迁移数据到历史表-mysql-第二电脑网...
-- 大表数据迁移,每天凌晨1点到5点执行,执行间隔时间10分钟,迁移旧数据到历史表.DELIMITER $$ USE `dbx`$$ 电脑技术网对<FalseMySQL存储过程-->通过 ...
- MySQL存储过程 -- 通过游标遍历和异常处理迁移数据到历史表
-- 大表数据迁移,每天凌晨1点到5点执行,执行间隔时间10分钟,迁移旧数据到历史表. DELIMITER $$ USE `dbx`$$ DROP PROCEDURE IF EXISTS `pro_x ...
- Mysql定义DELETE操作触发器,将删除数据存入历史表
Mysql定义DELETE操作触发器,将删除数据存入历史表 SQL如下: // An highlighted blockDELIMITER $$ CREATE TRIGGER <触发器名称> ...
- 迁移数据到历史表SQL
有时工作需要需要把当前表的数据,移到历史表中,而历史表基本是以时间(年)为后缀来命名历史表的,如 A_2011,A_2012,在移数据时,要按数据的时间,移到不同的表中,且由于如果数据有同步.一次处理 ...
- MySql定期备份数据到历史表的解决方案
前言 互联网项目最大不瓶颈还是在于数据库,80%的数据请求只针对20%的数据:特别是电商项目,体现的更为明显,大量的数据请求,即使MySql在一主多从,读写分离,使用了Elasticsearch.Me ...
- mysql定时任务,把7天的数据存到历史表,再删除7天前的数据
查看mysql事件是否已开启,ON开,OFF关. SHOW VARIABLES LIKE 'event_scheduler'1:新建存储过程.use 数据库名; delimiter$$ #设置mysq ...
- SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)
实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...
- mysql 将三个月的数据导到历史表_迁移数据到历史表,减少业务表中数据压力 Mysql...
#数据迁移存储过程 DROP PROCEDURE IF EXISTS `delete_platform_patient`; DELIMITER ;; CREATE DEFINER=`root`@`%` ...
最新文章
- python ftp文件夹文件递归上传推送
- java的(PO,VO,TO,BO,DAO,POJO)解释
- 【Python 19】BMR计算器3.0(字符串分割与格式化输出)
- 700. 二叉搜索树中的搜索
- Web中Servlet
- 惠普g260鼠标宏软件_黑爵电竞鼠标AJ337 电竞手残党福音 鼠标宏一键火力全开
- ubuntu 上 安装php5.4
- 【Android】命令行jarsigner签字和解决找不到证书链错误
- php获得每个月第一天的时间,PHP获取指定日期所在月的第一天和最后一天几个例子...
- linux 查看显卡信号_Ubuntu 16.04安装nvidia显卡驱动以及各种坑(包含解决方案)
- 小米2s Android pie,Android 9 Pie什么时候升级?小米MIX 2S抢先体验!
- Android 透明颜色值ARGB
- C#给Winform的button等控件添加快捷键三种方法
- Machine Learning——Homework1
- 网页设计软件列表HTML,【网站设计用什么软件】网页设计软件具体有哪些,常见的十种网页设计软件介绍!...
- (转)几个开源的视频编解码器介绍
- 5款Java微服务开源框架
- 基于51单片机+LD3320语音模块+SYN6288语音合成——语音识别智能分类垃圾桶
- 构建CF卡Linux系统的几个常见难题
- Java 桌球小游戏