To ignore a condition : Condition HANDLER « Procedure Function « MySQL Tutorial






If you want to ignore a condition, you can declare a CONTINUE handler for it and associate it with an empty block.

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

mysql>
mysql> delimiter //
mysql>
mysql> CREATE PROCEDURE handlerdemo ()
    -> BEGIN
    ->   DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
    ->   DECLARE CONTINUE HANDLER FOR SQLWARNING BEGIN END;
    ->   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.00 sec)

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

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