Stored procedure does not exist, even after creating it

ashu picture ashu · Jun 1, 2011 · Viewed 22.7k times · Source

I am trying to create a mysql stored procedure . I have successfully created a procedure using the following code :

delimiter $$
CREATE PROCEDURE `myprocedure` (IN
 var1 DATE) 
BEGIN 
<---code--> 
END

And

SHOW CREATE PROCEDURE myprocedure

shows me the procedure I have created.

But the Call myprocedure(2011-05-31);

shows me the following error

#1305 - PROCEDURE db.myprocedure does not exist

db is database where I have created the procedure

What mistake am I doing?

Can anyone help me in this?

Answer

Jon Black picture Jon Black · Jun 1, 2011

please check the following example paying particular attention to use of delimiters and quoting of date input parameters.

drop procedure if exists my_procedure;

delimiter #

create procedure my_procedure 
(
in p_start_date date
) 
begin

-- do something...
select p_start_date as start_date; -- end of sql statement

end# -- end of stored procedure block

delimiter ; -- switch delimiters again

call my_procedure('2011-01-31');

+------------+
| start_date |
+------------+
| 2011-01-31 |
+------------+
1 row in set (0.00 sec)