【发布时间】:2016-09-25 16:19:49
【问题描述】:
PreparedStatement updateSeq = null;
String createQuery ="CREATE SEQUENCE AVIA START WITH ? INCREMENT BY 1";
try {
con.setAutoCommit(false);
updateSeq = con.prepareStatement(createQuery);
updateSeq.setLong(1, 1000000000000000l);
updateSeq.executeUpdate();
con.commit();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
updateSeq.close();
con.setAutoCommit(true);
} catch (SQLException e) {
e.printStackTrace();
}
}
这给了我“java.sql.SQLSyntaxErrorException: ORA-01722: invalid number” 我做错了什么。
【问题讨论】:
-
您真的需要为此使用参数化查询吗?无论如何,您都在硬编码参数的值,因此您不妨将其硬编码到字符串中。
-
你试过去掉“l”吗?
-
@ JonK 是的,我必须基于模式创建新语句,对于每个模式我必须更改索引值,一切都保持不变。正如你所提到的,我将创建字符串。
标签: java database jdbc oracle11g