1

我在 MySQL5.6 命令行客户端中输入了以下语句。但是,收到以下错误。我什至无法添加 END// 分隔符;在选择语句之后。

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

请协助。非常感激!

错误

4

4 回答 4

3

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

delimiter //
create procedure GetUStocks()
Begin
Select * From buystocks;
end;
//
于 2013-10-12T06:24:51.893 回答
2
mysql> delimiter //

mysql> CREATE PROCEDURE GetUStocke()
-> BEGIN
->   SELECT * FROM buystocks ;
-> END//
于 2013-10-12T06:24:26.127 回答
1

您需要在 DELIMITER 和要将分隔符更改为的符号之间留一个空格。

mysql> DELIMITER //

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


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

于 2013-10-12T06:21:13.977 回答
0

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

截屏

于 2017-10-27T19:22:21.470 回答