今天对一张创建了分区表的表进行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不只用于分区还用于闪回。

相关文章:

  • 2022-12-23
  • 2021-05-21
  • 2021-05-07
  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-11
猜你喜欢
  • 2022-03-07
  • 2021-05-28
  • 2021-04-09
  • 2021-11-21
  • 2022-02-27
  • 2022-12-23
相关资源
相似解决方案