DECLARE ... HANDLER语法
参考官方手册:https://dev.mysql.com/doc/refman/5.7/en/declare-handler.html
DECLARE handler_action HANDLER
FOR condition_value [, condition_value] ...
statement
handler_action: {
CONTINUE
| EXIT
| UNDO
}
condition_value: {
mysql_error_code
| SQLSTATE [VALUE] sqlstate_value
| condition_name
| SQLWARNING
| NOT FOUND
| SQLEXCEPTION
}
官方手册sqlstate与error code参考: https://dev.mysql.com/doc/refman/8.0/en/server-error-reference.html
CONTINUE 与 EXIT 对比
CONTINUE: 发送错误时继续执行后续代码
EXIT: 发生错误时退出当前代码块(可能是子代码块或者main代码块)
直接看例子
CONTINUE
mysql> CREATE TABLE d.handlerdemo1 (s1 INT, PRIMARY KEY (s1));
Query OK, 0