我有一个存储过程,该存储过程具有带回退标志的处理程序,如何从处理程序中获取错误消息。
我已经声明了各种异常的处理程序以及用于回滚的标志,如下所示。
...
BEGIN
DECLARE `_rollback` BOOL DEFAULT 0;
DECLARE EXIT HANDLER FOR 1051 SET `_rollback` = 1;
DECLARE EXIT HANDLER FOR 1062 SET `_rollback` = 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SET `_rollback` = 1;
DECLARE EXIT HANDLER FOR SQLSTATE '23000' SET `_rollback` = 1;
START TRANSACTION;
......
.....
IF `_rollback` THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
期望的输出是基于处理程序的错误消息。但是,由于它只是遵循here中引用的语法
DECLARE操作处理程序FOR condition_value语句;
我无法收到错误消息。一种方法是在ROLLBACK之后编写通用错误消息,但是如何获取特定消息?