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();
最佳答案
您不能将绑定(bind)变量与 DDL 一起使用,例如 ALTER SEQUENCE
。您必须将 incval
连接到字符串上。
如果 incval
是一个 int
或一个 long
,就不会有任何 SQL 注入(inject)的风险。
关于java - 错误 java.sql.SQLException : ORA-01722: invalid number while running a Prepared Statement to alter a Sequence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5841131/