The update may be made in place if the columns being updated are only in ROW format column partitions of a nontemporal column-partitioned table, instead of being treated as a delete of the old row and an insert of the new row. This includes row-level security constraints that are implicitly updated due to the row being updated. An update in place can be done, with the following restrictions:
- A column of a primary AMP index or primary index must not be updated.
- A column of a unique secondary index defined on the target table must not be updated. Note that columns of a unique join index (UJI) defined (explicitly or implicitly) on the target table may be updated.
- All columns of any updated nonunique secondary index defined on the target table must belong to the same target column partition.
- A partitioning column must not be updated.
- All columns of any updated foreign or parent keys must belong to the same target column partition.
- All columns referenced in a check constraint where at least one of these columns is updated must all belong to the same target column partition.
- Any source column values from the target table used in the expression for the value to assign to a target column must come from the same target column partition as the target column.
- Cannot include updatable cursors.