Tuesday, 7 August 2007

Updating columns that are used in table partitioning

If you create a table

Create table reh_temp

(col1 NUMBER(8,0))

PARTITION BY RANGE (col1)

(

partition p1 values less than (100)

,partition p2 values less than (200)

,partition PMAX values less than (MAXVALUE) );

Insert into temp values(1);

Select * from reh_temp partition (p1);

Brings back one row as you would expect

Update reh_temp set col1 = 150

ERROR at line 1:

ORA-14402: updating partition key column would cause a partition change

i.e. The row would have to move partitions so it errors However alter table reh_temp enable row movement; then updates are ok and the row moves from partition to partition as you update

No comments: