The example associates a handler with SQLSTATE 23000, which occurs for a duplicate-key error : Condition HANDLER « Procedure Function « MySQL Tutorial






mysql>
mysql> CREATE TABLE t (s1 int,primary key (s1));
Query OK, 0 rows affected (0.08 sec)

mysql>
mysql>
mysql> delimiter //
mysql>
mysql> CREATE PROCEDURE handlerdemo ()
    -> BEGIN
    ->   DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
    ->   SET @x = 1;
    ->   INSERT INTO test.t VALUES (1);
    ->   SET @x = 2;
    ->   INSERT INTO test.t VALUES (1);
    ->   SET @x = 3;
    -> END;
    -> //
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> Delimiter ;
mysql>
mysql> CALL handlerdemo();
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql> SELECT @x;
+------+
| @x   |
+------+
| 3    |
+------+
1 row in set (0.00 sec)

mysql>
mysql>
mysql> drop procedure handlerdemo;
Query OK, 0 rows affected (0.01 sec)

mysql>
mysql> drop table t;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>
mysql>
mysql>








11.44.Condition HANDLER
11.44.1.Declaring a Condition and Handler
11.44.2.Condition and Handler in action
11.44.3.DECLARE CONTINUE HANDLER FOR NOT FOUND SET
11.44.4.Checking flag
11.44.5.Using while to check the condition
11.44.6.DECLARE EXIT HANDLER FOR
11.44.7.Checking Exit flag
11.44.8.Using the IF statement to verify 'CONTINUE HANDLER'
11.44.9.The example associates a handler with SQLSTATE 23000, which occurs for a duplicate-key error
11.44.10.To ignore a condition