错误处理以及回滚和提交选项以及MySQL中的错误消息

时间:2019-05-06 16:53:40

标签: mysql stored-procedures commit rollback error-logging

我有一个存储过程,该存储过程具有带回退标志的处理程序,如何从处理程序中获取错误消息。

我已经声明了各种异常的处理程序以及用于回滚的标志,如下所示。

...
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之后编写通用错误消息,但是如何获取特定消息?

0 个答案:

没有答案