在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 并继续执行。
广告