Mega Code Archive

 
Categories / MySQL / Procedure Function
 

Using Set to declare variable in a procedure

mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE execute_immediate(in_sql varchar(4000))     -> BEGIN     ->     ->   SET @tmp_sql=in_sql;     ->   PREPARE s1 FROM @tmp_sql;     ->   EXECUTE s1;     ->   DEALLOCATE PREPARE s1;     ->     -> END$$ Query OK, 0 rows affected (0.00 sec) mysql> mysql> delimiter ; mysql> call execute_immediate("select 1+1"); +-----+ | 1+1 | +-----+ |   2 | +-----+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.02 sec) mysql> drop procedure execute_immediate; Query OK, 0 rows affected (0.00 sec)