今天對一張創建了分區表的表進行update操作,正好需要修改的是創建分區的那一列,由於是要修改在分區表范圍內的數據,所以無法修改。
然后搜了一下,需要修改row movement這個屬性:alter table eq_excpdetail enable row movement;將該屬性打開,然后就可以對分區列進行修改。關閉是alter table eq_excpdetail disable row movement;
將row movement設置為enable,有可能發生行的物理移動,行的rowid會變化,某 一行更新時,如果更新的是分區列,並且更新后的列值不屬於原來的這個分區,如果開啟了這個選項,就會把這行從這個分區中delete掉,並加到更新后所屬 的分區。相當於一個隱式的delete+insert,但是不會觸發insert/delete觸發器。如果沒有開啟這個選項,就會在更新時報錯。
當然row movement不只用於分區還用於閃回。