我正在尝试创建一个 mysql 存储过程。我已经使用以下代码成功创建了一个过程:
delimiter $$
CREATE PROCEDURE `myprocedure` (IN
var1 DATE)
BEGIN
<---code-->
END
和
SHOW CREATE PROCEDURE myprocedure
显示我创建的程序。
但是调用myprocedure(2011-05-31);
显示以下错误
#1305 - PROCEDURE db.myprocedure does not exist
db 是我创建过程的数据库
我做错了什么?
有人可以帮我吗?
最佳答案
请查看以下示例,特别注意分隔符的使用和日期输入参数的引用。
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)
关于mysql - 存储过程不存在,即使在创建之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6199572/