无法创建存储过程

时间:2013-10-12 06:10:48

标签: mysql sql database stored-procedures

我在MySQL5.6命令行客户端中输入了以下语句。但是,收到了以下错误。我甚至都无法在END // Delimiter中添加;在select语句之后。

与此同时,我想知道在成功创建存储过程之后,如何在没有命令行但使用java代码的情况下调用存储过程。

请帮助。非常感谢!

Error

4 个答案:

答案 0 :(得分:2)

delimiter//之间留出空格。在select语句后写下end;在下一行,//在最后一行(在下一个新行end;之后)

delimiter //
create procedure GetUStocks()
Begin
Select * From buystocks;
end;
//

答案 1 :(得分:1)

DELIMITER和要更改分隔符的符号之间需要一个空格。

mysql> DELIMITER //

它起作用的线索应该是你得到另一个mysql>提示而不是“未完成的命令”提示->


重新评论,如果需要从Java应用程序调用存储过程,请参阅可调用语句手册:http://dev.mysql.com/doc/refman/5.6/en/connector-j-usagenotes-statements-callable.html

答案 2 :(得分:1)

mysql> delimiter //

mysql> CREATE PROCEDURE GetUStocke()
-> BEGIN
->   SELECT * FROM buystocks ;
-> END//

答案 3 :(得分:0)

嗯,说真的,我感到很震惊,仍然在意外发现。 这只是因为您没有使用已定义的分隔符来结束过程。 在这里,让我附上两个片段,这些片段将有助于说明产生错误的原因。

Screenshot