Error Handling 异常处理
mysql> CREATE TABLE t2
CREATE TABLE error_log (error_message
CREATE PROCEDURE p22 (parameter1 INT)
CALL p22 (5) //
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
CREATE TABLE t4 (s1 int,primary key(s1));//
mysql> CALL p23()//
CREATE PROCEDURE p24 ()
CREATE PROCEDURE p24 ()
mysql> CALL p24()//
mysql> CREATE PROCEDURE p9 ()
-> BEGIN
-> DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
-> DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;
-> DECLARE EXIT HANDLER FOR SQLWARNING BEGIN END;
-> END;//
Query OK, 0 rows affected (0.00 sec)
这里是三个预声明的条件:NOT FOUND (找不到行), SQLEXCEPTION (错误),SQLWARNING (警告或注释)。因为它们是预声明的,因此不需要声明条件就可以使用。不过如果你去做这样的声明:"DECLARE SQLEXCEPTION CONDITION …",你将会得到错误信息提示。