Вот проблема, с которой я сталкиваюсь: -
Я пытаюсь выполнить оператор обновления (prepareStatement) с несколькими значениями, но только если они не равны NULL.
Пример:
String x, y,z; //initialized to some value
final String EXAMPLE_SQL = "Update Table1 set col1 = ?, col2 = ? where col3 = ?";
sqlStmt = conn.prepareStatement(EXAMPLE_SQL);
sqlStmt.SetString(1, x);
sqlStmt.SetString(2, y);
sqlStmt.SetString(3, z);
sqlStmt.executeUpdate();
но иногда x может быть нулевым, и в этом случае я не хочу обновлять столбец col1 нулевым значением.
Один из способов может быть: -
if(x == null)
final String EXAMPLE_SQL = "Update Table1 set col2 = ? where col3 = ?";
else
final String EXAMPLE_SQL = "Update Table1 set col1 = ?, col2 = ? where col3 = ?";
Есть ли способ сделать это более аккуратно (всего одним оператором SQL), используя JDBC?
Спасибо