今天在做MYSQL 存储过程 多表更新的功能   多表更新时候注意事项

1、首先是确保多表更新能够一次执行,途中没有哪个表的sql语句错误

2、上线后修改表结构及字段,请注意检查是否影响mysql 过程和函数

下面列举下我在做多表更新的方式:

刚开始考虑的第一种方法:(不建议)

BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION SELECT 0 INTO rtn;
BEGIN
--执行的sql
--执行的sql
--执行的sql #如果这个报错了 上面的sql已经执行了
END; SET rtn = 1;
END

第二种方式:(本人建议)

  

BEGIN

    DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
SET rtn = 0; START TRANSACTION;
--执行的sql
--执行的sql
--执行的sql #如果这个报错了 上面的sql还是没有执行的
COMMIT; SET rtn = 1;
END

最后说明:我建的过程有IN和OUT参数的,这个因需求而定哦!

最新文章

  1. ASP.NET vNext 概述
  2. 关于offsetWidth,offsetHeight,offsetTop,offsetLeft和二维数组的声明
  3. NSLOG打印不全的问题
  4. git同一文件由于文件名大小写不同导致不能合并
  5. Android Fragment 简单实例
  6. 关于 Delphi 中的Sender和易混淆的概念(转)
  7. java和javax都是Java的API包,java是核心包,javax的x是extension的意思,也就是扩展包。
  8. iOS开发笔记--什么时候调用layoutSubviews
  9. FPGA知识大梳理(一)对FPGA行业的一点感言
  10. CF 519E(树上倍增求lca)
  11. ocx控件手动修改clsid的方法
  12. Tomcat 组件介绍
  13. python获取当前时间
  14. 基于C++的成功-失败法演示
  15. R apply函数 三维 array
  16. MySQL基础~~增、删、改、简单查
  17. 加减乘除工具类BigDecimalUtil
  18. 转:ios Sqlite数据库增删改查基本操作
  19. ahk打印成pdf记录
  20. JConsole详解

热门文章

  1. madplay移植
  2. 项目实战2.3-Nginx的“远方表哥”—Tengine
  3. ES6 的解构赋值前每次都创建一个对象吗?会加重 GC 的负担吗?
  4. 绘制文字:imagettftext()
  5. Zookeeper协调服务系统·ELK日志管理系统简介
  6. SpringCloud 微服务一:spring boot 基础项目搭建
  7. HDU 2177 取(2堆)石子游戏
  8. Maven web项目的项目如何创建
  9. logback mybatis 打印sql语句
  10. CSS滚动插件