我在从JdbcTemplate的执行下面的查询面临异常
update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=?
而以下是例外
org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;对于SQL未经归类的SQLException [更新TEMP_BRD_STATS SET STATS = NULL WHERE BRDC_STAT_ID =?]; SQL状态[空]。错误代码[0]; ORA-00900:无效的SQL语句
凡TEMP_BRD_STATS是我的表名STATS和BRDC_STAT_ID是列在我的表
注: - 空是允许STATS列
不过,我可以成功地通过提供有效BRDC_STAT_ID列值执行在SQL Developer中查询。
EG
update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=523;
编辑:下面是Java代码
result = this.jdbcTemplate.query("update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=?", new Object[] {523}, new QueryResultSetExtractor());
虽然抛出异常上述代码执行后的列值得到改变。
假设我的专栏STATS是有“成功”的价值和上面的Java代码值执行后得到改变为null,但它仍然抛出异常。很怪情景。
参数?
显然不填写也许有些参数等。:
new Object[] { brdStatId }
一般来说JDBC它可以一直使用而不是PreparedStatement.executeUpdate()
但基类版本Statement.executeUpdate(String sql)
。
后加入代码有问题:
嗯,查询(SELECT)和混合起来更新(INSERT / UPDATE):
this.jdbcTemplate.update("update TEMP_BRD_STATS SET STATS=null WHERE BRDC_STAT_ID=?", 523);