Mega Code Archive

 
Categories / MySQL / Procedure Function
 

Call another procedure to pass the error code

mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc()     ->      MODIFIES SQL DATA     -> BEGIN     ->      DECLARE l_status VARCHAR(20);     ->     ->     CALL myProc1(l_status);     ->        IF l_status='Duplicate Entry' THEN     ->               SELECT CONCAT('Warning: using existing definition for location ') AS warning;     ->      END IF;     -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> mysql> CREATE PROCEDURE myProc1(OUT out_status VARCHAR(30))     -> BEGIN     ->    set out_status = 'Duplicate Entry';     -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> mysql> mysql> delimiter ; mysql> call myProc(); +--------------------------------------------------+ | warning                                          | +--------------------------------------------------+ | Warning: using existing definition for location  | +--------------------------------------------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec) mysql> drop procedure myProc; Query OK, 0 rows affected (0.00 sec) mysql> drop procedure myProc1; Query OK, 0 rows affected (0.00 sec) mysql> mysql>