标签:continue ack mysql str 回滚 eal back bsp pmon
1、使用Navicat Premium打开创建函数向导,操作:连接名——数据库——函数——新建函数
2、选择过程——输入存储过程参数——完成(这一步可以不填写参数,编写存储过程代码的时候设置参数)
3、按照要求完成存储过程代码编写
1 BEGIN 2 DECLARE t_error INTEGER DEFAULT 0; 3 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 4 # 保证数据一致性 开启事务 5 START TRANSACTION; 6 # 获取需同步数据的时间节点(3个月前的第一天) 7 # 即当前日期 2018-07-10 @upmonth 日期 2018-04-01 8 SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH); 9 # 迁移数据语句 10 SET @sqlstr=CONCAT(‘INSERT INTO fd_aseet_record_back_3_6 11 SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘); 12 # 删除数据语句 13 SET @delsqlstr=CONCAT(‘DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘); 14 #执行数据迁移 15 PREPARE _fddatamt FROM @sqlstr; 16 EXECUTE _fddatamt USING @upmonth; 17 DEALLOCATE PREPARE _fddatamt; 18 #执行迁移后的数据删除 19 PREPARE _fddatadel FROM @delsqlstr; 20 EXECUTE _fddatadel USING @upmonth; 21 DEALLOCATE PREPARE _fddatadel; 22 IF t_error = 1 THEN 23 ROLLBACK; #语句异常-回滚 24 ELSE 25 COMMIT; #提交事务 26 END IF; 27 END
4、保存——输入存储过程名——确定
5、选择存储过程名——运行函数——查看结果
标签:continue ack mysql str 回滚 eal back bsp pmon
原文地址:https://www.cnblogs.com/lbxx/p/9322652.html