渡されたパラメーター値がnullの場合に列を更新しないバッチ更新を作成するにはどうすればよいですか?例えば:
String UPDATE_STMT = "UPDATE MY_TABLE SET col1 = ?, col2 = ?, col3 = ?";
Connection conn = getConnection();
PreparedStatement pstmt = conn.preparedStatement(UPDATE_STMT);
List items = getItems();
for (ItemType item : items) {
stmt.setString(1, item.x);
stmt.setString(2, item.y);
stmt.setString(3, item.z);
}
pstmt.executeBatch();
item.xがnullまたは空でない場合にのみcol1がitem.xの値で更新されるようにコーディングするにはどうすればよいですか?item.xがnull/空の場合、col1フィールドの現在の値が上書きされないようにします。これは、Oracle10gデータベース用です。