MYSQL存储过程抓捕异常

Mysql存储过程异常抓捕和异常信息捕获
直接上代码
create procedure testErrorMessage(
INOUT code char, //输出的错误编号
INOUT message text //输出错误文本信息
)
begin

DECLARE EXIT HANDLER FOR SQLEXCEPTION              //①
BEGIN
        GET DIAGNOSTICS CONDITION 1     //②
            code = RETURNED_SQLSQLSTATE,message = MASSAGE_TEXT;           //③

END;
//假装这里是存储过程逻辑代码,如果运行出错,上面抓捕异常。

end

代码解析:
① DECLARE EXIT HANDLER FOR SQLEXCEPTION //异常声明处理语法
② GET DIAGNOSTICS CONDITION 1 //这段代码的含义是,从mysql错误缓存区读取第一条错误信息。
③ code = RETURNED_SQLSQLSTATE,message = MASSAGE_TEXT; //读取出sql出错编码,将其赋值给我们定义的错误编码变量code。读取sql出错的错误文本信息,将其赋值给我们第一的错误文本变量message。

猜你喜欢

转载自blog.csdn.net/mark_chao/article/details/78732704
今日推荐