我正在调用存储函数,如下所示:
PreparedStatement deleteAll=connection.prepareStatement("{ call delete_all_data() }");
deleteAll.execute();
在日志中我看到:
15:16:31,950 WARN SqlExceptionHelper:143 - SQL Error: 0, SQLState: 42601
15:16:31,950 ERROR SqlExceptionHelper:144 - ERROR: syntax error at or near "{"
Position: 1
prepareStatement有什么问题?
答案 0 :(得分:2)
将connection.prepareStatement
(需要SQL)更改为connection.prepareCall
。这可能是您需要的唯一更改,因为CallableStatement
是PreparedStatement
。
答案 1 :(得分:2)
我使用prepareCall来调用存储过程。
String SQL = "{call delete_all_data()}";
cstmt = conn.prepareCall (SQL);