我的Java代码
Statement statement = connection.createStatement();
String storedProc = "exec stored_proc(" + someVariable + ")";
statement.execute(storedProc);
但Java会抛出SQLSyntaxException。知道我做错了吗?
答案 0 :(得分:1)
尝试此查询:
在您目前的方法中,您可以使用:
String storedProc = "{call stored_proc(" + someVariable + ")}";
请注意,我使用的是call
而不是exec
,并且我用大括号包围了查询。
但要避免sql injection
,您可以使用参数化查询,如:
String storedProc="{call stored_proc(?)}";
PreparedStatement pstmt=connection.prepareStatement(storedProc);
pstmt.setString(1,someVariable);
pstmt.execute(storedProc);