我一直在

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工作台中,它工作得很顺利。
任何想法都会很感激的。

最佳答案

我想您使用的语法不正确,请将其与文档进行比较:CallableStatement
{?=调用[(,,…)]}{调用
[(,,…)]}
使用{call spInflateRating}但不使用{spInflateRating()}

07-26 04:51