在MySQL中,我们如何在处理错误的同时声明一个处理器(handler)?


通过抛出适当的错误消息来处理错误非常重要。MySQL 提供了一个处理器来处理错误。我们可以使用以下语法声明一个处理器:

处理器语法

DECLARE handler_action FOR condition_value statement;

上述语法显示我们需要使用 DECLARE HANDLER 语句来声明一个处理器。如果条件值与 condition_value 匹配,则 MySQL 将执行语句并根据 action 继续或退出当前代码块。以下是上述语法中的三个主要部分:

  • Handler_action 有两种类型,可以接受以下值之一:

    • CONTINUE - 如果 handler_action 为 'CONTINUE',则继续执行包含代码块。
    • EXIT - 如果 handler_action 为 'EXIT',则终止包含代码块的执行。
  • Condition_value 指定激活处理器的特定条件或条件类。它可以接受以下值之一:

    • ERROR CODE - condition_value 可以是 MySQL 错误代码。
    • SQLSTATE - condition_value 也可以是 SQLSTATE。
    • SQLWARNING - condition_value 也可以是 SQLWARNING。
    • NOTFOUND - condition_value 也可以是 NOTFOUND。
    • SQLEXCEPTION - condition_value 也可以是 SQLEXCEPTION。
  • Statement 可以是简单的语句,也可以是由 BEGIN 和 END 关键字括起来的复合语句。

示例

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;

在上面的例子中,处理器意味着如果发生错误,则将 got_error 变量的值设置为 10 并继续执行。

更新于:2020年6月22日

516 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告