首页 > 代码库 > 如何更新分区关键字
如何更新分区关键字
如何更新分区关键字 [原创 2008-8-7 10:51:14]
字号:大 中 小
为提高查询速度,经常为表建分区,但如何修改表中某条记录的分区呢?
如表A中,有个分区关键字为area,当update时,会报错:
Ora-14402 更新分区关键字列将导致分区的更改。
解决办法如下:
1、执行如下命令,使表A允许记录转移到其他分区:
alter table A enable row movement;
2、进行修改,就不会报错了。
select * from A where emid=’001’ for update
3、修改完毕后,执行如下命令,使表A不允许记录转移到其他分区
alter table A disable row movement;
执行以上三步就可以了,但是修改之后对我们有何影响呢?影响就是,记录的rowid发生了变化,其实oracle后台自动会将原来的rowid记录delete掉,然后在insert一条新记录,若业务中关联rowid的可就要注意了。通过原理,其实也可以先insert一条新数据,然后delete原来的数据,也可以实现对分区关键字的更改。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。