Spring JDBC 发生非空约束冲突错误时批量更新停止处理
Spring JDBC Batch Update Stop Processing When Not Null Constraint Violation Error Occurred
我有 10 个数据要插入到数据库中,但其中一个会导致违反非空约束。使用 JDBC 批量更新,我期望处理所有有效数据,即使在处理无效数据时发生一些错误,所以最后我期望插入 9 个有效数据。下面写的代码,
jdbcTemplate().batchUpdate(
"INSERT INTO table_x (col_a) VALUES (?)",
new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
preparedStatement.setString(1, "val_a");
}
@Override
public int getBatchSize() {
return 1;
}
});
但不知何故,只有 1 条数据成功插入数据库。我应该怎么做才能将所有 9 个有效数据成功插入数据库,然后为每个无效数据抛出错误
此问题已通过实施 Oracle DML 错误记录解决http://www.dba-oracle.com/t_oracle_dml_error_log.htm
我有 10 个数据要插入到数据库中,但其中一个会导致违反非空约束。使用 JDBC 批量更新,我期望处理所有有效数据,即使在处理无效数据时发生一些错误,所以最后我期望插入 9 个有效数据。下面写的代码,
jdbcTemplate().batchUpdate(
"INSERT INTO table_x (col_a) VALUES (?)",
new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
preparedStatement.setString(1, "val_a");
}
@Override
public int getBatchSize() {
return 1;
}
});
但不知何故,只有 1 条数据成功插入数据库。我应该怎么做才能将所有 9 个有效数据成功插入数据库,然后为每个无效数据抛出错误
此问题已通过实施 Oracle DML 错误记录解决http://www.dba-oracle.com/t_oracle_dml_error_log.htm