存储过程使用SQLException捕获SQL错误,然后处理;

我们可以在MySQL存储过程中捕获SQL错误,然后通过事务判断,回滚(ROLLBACK)还是提交(COMMIT)。

CREATE PROCEDURE proc( )
BEGIN
DECLARE t_error INTEGER DEFAULT 1;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=-1; START TRANSACTION;
INSERT INTO test VALUES(NULL, 'test 001');
INSERT INTO test VALUES('', 'test 002'); IF t_error = -1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
select t_error; //返回标识位的结果 -1失败,1成功
END

最新文章

  1. JavaScript 智能社 拖拽
  2. [转] Making GTFS query more convenient
  3. 更改Windows系统的密码之后,SQL Server 2008服务无法启动
  4. 验证码识别--type5
  5. Android ScrollView与ViewPager滑动冲突
  6. java web 学习十六(JSP指令)
  7. PHP简单下载
  8. codevs 1200 同余方程 (Extend_Eulid)
  9. js 点名
  10. Knockout Mvc Compoment FrameSet
  11. 使用clipboard.js实现复制内容至剪贴板
  12. Python_自定义有向图
  13. ACM-ICPC 2018 徐州赛区网络预赛 HRyuji doesn't want to study 树状数组
  14. Java之Java7新特性之try资源句式
  15. Struts2国际化学习笔记
  16. redis-python
  17. c#中序列化和反序列化的理解
  18. unity中实现场景之间加载进度条
  19. 如何判断一条记录什么字段被修改了 [问题点数:40分,结帖人bluesukeke]
  20. 用socket发送匿名邮件之python实现

热门文章

  1. iOS开发之多线程技术——NSOperation篇
  2. iOS开发之JSON格式数据的生成与解析
  3. 修改Mac系统的默认截图保存路径到指定目录
  4. 驳 GarbageMan 的《一个超复杂的简介递归》——对延迟计算的实验和思考
  5. Oracle行内链接不会引起USER_TABLES中CHAIN_CNT值变化
  6. javascript-抽象工厂模式
  7. SqlServer服务器和数据库角色
  8. Java并发之CountDownLatch 多功能同步工具类
  9. c# bass入门学习
  10. 烂泥:使KVM显示VM的IP地址及主机名