错误java.sql.SQLException:ORA-01722:运行准备语句以更改序列时的无效数字

时间:2011-04-30 10:26:55

标签: java oracle jdbc prepared-statement ora-01722

sqlStmt = new StringBuffer("  ALTER SEQUENCE "  );  
                    sqlStmt.append( ServerContext.getSchemaName() );
                    sqlStmt.append("SEQ_EDCD_TRACE_NUM");
                    sqlStmt.append( " INCREMENT BY " );
                    sqlStmt.append( " ? " );
pstmt.setLong(1, incval);
pstmt.execute();

1 个答案:

答案 0 :(得分:4)

您不能将绑定变量与DDL一起使用,例如ALTER SEQUENCE。您必须将incval连接到字符串上。

如果incvalintlong,则不应存在任何SQL注入风险。