Using a query to update data
You can form queries to UPDATE a row in an Oracle NoSQL Database table. The WHERE clause must specify an exact primary key as only single row updates are allowed.
For example, to update a field using the UPDATE statement:
// store handle creation omitted.
...
// Updates the age for User with id=2
StatementResult result = store.executeSync("UPDATE Users SET age=20
WHERE id=2");
To update multiple rows, you must first form a query to SELECT records. You then use the result of the SELECT query to update or insert data.
For example, to update a field using a result record from the SELECT statement:
// store handle creation omitted.
...
TableAPI tableAPI = store.getTableAPI();
Table table = tableAPI.getTable("Users");
StatementResult result = store.executeSync("SELECT * FROM Users WHERE
(age > 13 and age < 17)");
for( RecordValue record : result ) {
// Update a field
Row row = table.createRow(record);
row.put("age", record.get("age").asInteger().get() + 1);
tableAPI.put(row, null, null);
}