码迷,mamicode.com
首页 > 其他好文 > 详细

如何更新分区关键字

时间:2014-06-02 06:20:33      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:c   class   blog   a   http   ext   

如何更新分区关键字 [原创 2008-8-7 10:51:14]   
bubuko.com,布布扣 字号:  
 

为提高查询速度,经常为表建分区,但如何修改表中某条记录的分区呢?

如表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原来的数据,也可以实现对分区关键字的更改。

如何更新分区关键字,布布扣,bubuko.com

如何更新分区关键字

标签:c   class   blog   a   http   ext   

原文地址:http://www.cnblogs.com/isoftware/p/3763728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!