MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表
来源:互联网 发布:java多线程方法 编辑:程序博客网 时间:2024/05/16 02:00
-- 大表数据迁移,每天凌晨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` <CONCAT(YEAR(DATE_ADD(NOW(),INTERVAL -1 MONTH)),'-',MONTH(DATE_ADD(NOW(),INTERVAL -1 MONTH )),'-',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存储过程-->通过游标遍历和异常处理迁移数据到历史表
- MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表
- MYSQL存储过程遍历结果集游标 从一张表插入数据到另一张表
- mysql存储过程和游标遍历
- mysql存储过程从表取数据存储到游标然后批量修改
- mysql存储过程之游标遍历数据表
- mysql存储过程之游标遍历数据表
- mysql存储过程while 遍历游标
- mysql存储过程之游标遍历数据表
- MySQL存储过程和游标
- MySQL存储过程和游标
- MySql 使用存储过程和游标读取并更新数据
- oracle存储过程+游标处理select数据
- Mysql存储过程--异常处理
- mysql存储过程异常处理
- mysql 存储过程异常处理
- mysql存储过程异常处理
- 迁移数据到历史表SQL
- 开发者不容错过的免费资源库
- 论文读书笔记--machine learning in automated text categorization
- 异步HotLog CDC配置
- S3C2416 LCD裸机配制
- tar的用法
- MySQL存储过程-->通过游标遍历和异常处理迁移数据到历史表
- 【python】file.write() 和 open()
- 关于写博文认为无故被删
- 红黑树
- MILP 求解UC问题的缺点
- PHP分页之自动适应范围的页码分页程序
- Min-Max
- linux上安装rlwrap软件的步骤
- ThinkPHP的扩展函数库介绍