存储过程不运行

时间:2018-06-01 13:39:50

标签: mysql sql stored-procedures jdbc

我一直在

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual

调用存储过程时

DROP PROCEDURE IF EXISTS spInflateRating;

DELIMITER $$

CREATE PROCEDURE spInflateRating()

BEGIN

UPDATE mathdb.student SET student_rating = 1000 WHERE student_rating < 1000 LIMIT 99999;

END$$

DELIMITER ;
来自eclipse的

CallableStatement myStat4 = myConn.prepareCall("{spInflateRating()}");
myStat4.execute();

当我运行程序时

UPDATE mathdb.student SET student_rating = 1000 WHERE student_rating < 1000 LIMIT 99999;

直接在MySQL工作台中,但它运行顺畅。

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

我猜您使用了错误的语法,请将其与文档进行比较:CallableStatement

  

{?= call&lt; procedure-name&gt; [(&lt; arg1&gt;,&lt; arg2&gt;,...)]}} {call   &lt; procedure-name&gt; [(&lt; arg1&gt;,&lt; arg2&gt;,...)]}

使用{call spInflateRating}但不使用{spInflateRating()}