11

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 は、プロシージャを作成したデータベースです

私は何の間違いをしているのですか?

誰でもこれで私を助けることができますか?

4

1 に答える 1

7

区切り文字の使用と日付入力パラメーターの引用に特に注意して、次の例を確認してください。

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)
于 2011-06-01T12:18:34.720 に答える