Хранимая процедура не существует даже после ее создания - PullRequest
10 голосов
/ 01 июня 2011

Я пытаюсь создать хранимую процедуру 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 - база данных, в которой я создал процедуру

Какую ошибку я делаю?

Может ли кто-нибудь помочь мне в этом?

1 Ответ

4 голосов
/ 01 июня 2011

пожалуйста, проверьте следующий пример, обращая особое внимание на использование разделителей и цитирование входных параметров даты.

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)
...