我一直在
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工作台中,但它运行顺畅。
任何想法都会受到赞赏。
答案 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()}