mysql 异常处理_Mysql 存储过程异常处理完整版

1f74c9f05f02f440b47696b9b1e95d90.png

最近在做 Spring boot 架构,调用 MySQL(5.8)存储过程, 尽量希望存储过程异常处理完善些。这样就可以大大提升架构响应速度以及健壮性。

主要的关键点如下:

MySQL 存储过程异常处理

捕获异常信息,MySQL 内部错误号以及错误文本

话不多说,请看如下代码:

BEGIN

DECLARE mysql_error_code CHAR(5) DEFAULT '00000';

DECLARE mysql_error_msg varchar(500);

/*异常处理机制*/

DECLARE EXIT HANDLER FOR SQLWARNING,NOT FOUND,SQLEXCEPTION

begin

GET DIAGNOSTICS CONDITION 1

mysql_error_code = RETURNED_SQLSTATE, mysql_error_msg = MESSAGE_TEXT;

set prm_code = 'E';

set prm_message =concat('exe P_APP_GetVersion failery! reason:',' mysql_error_code:',mysql_error_code,',mysql_error_msg:',mysql_error_msg,'.');

end;

set prm_code = 'S';

set prm_message = 'exe P_APP_GetVersion sucessfully!';

/*实际上这个表不存在*/

select * from appversison;

END

总结:百度上关于这么详细的异常处理不是很多,大多数都是一知半解。最后还是在 MySQL 官方文档上找到了答案!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值