Mega Code Archive

 
Categories / MySQL Tutorial / Procedure Function
 

Using CASE WHEN condition statement in a procedure

mysql> mysql> delimiter $$ mysql> CREATE PROCEDURE myProc(id int)     -> BEGIN     ->     ->     CASE     ->          WHEN id < 2  THEN     ->               select 'less than 2';     ->     ->          WHEN id > 2 and id < 5 THEN     ->               select 'greater than 2 and less than 5';     ->     ->          WHEN id > 5 THEN     ->               select 'greater than 5';     ->     ->     END CASE;     -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> mysql> delimiter ; mysql> call myProc(2); ERROR 1339 (20000): Case not found for CASE statement mysql> call myProc(20); +----------------+ | greater than 5 | +----------------+ | greater than 5 | +----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> mysql> drop procedure myProc; Query OK, 0 rows affected (0.00 sec) mysql>