即使在创建后,存储过程也不存在

时间:2011-06-01 10:14:32

标签: mysql database stored-procedures stored-functions

我正在尝试创建一个mysql存储过程。我已使用以下代码成功创建了一个过程:

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

并且

SHOW CREATE PROCEDURE myprocedure

向我展示了我创建的程序。

但是Call myprocedure(2011-05-31);

显示以下错误

#1305 - PROCEDURE db.myprocedure does not exist

db是我创建过程的数据库

我做错了什么?

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

请检查以下示例,特别注意使用分隔符和引用日期输入参数。

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)