這篇文章給大家分享的是有關(guān)數(shù)據(jù)庫(kù)中如何將按月分區(qū)的表改為按天分區(qū)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
為遼寧等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及遼寧網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站制作、做網(wǎng)站、遼寧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
一般來(lái)說(shuō),按月分區(qū)的表都是range分區(qū),下面來(lái)介紹將按月分區(qū)改為按天分區(qū)的方法:
1.range間隔分區(qū)的情況
間隔分區(qū)無(wú)法手工add partition ,會(huì)出現(xiàn)如下報(bào)錯(cuò):
ORA-14760 ADD PARTITION is not permitted on Interval partitioned objects
思路是先改為非間隔(Interval)分區(qū) ,然后手工按天add partition ,并建議再改成按天間隔,詳見如下案列:
create table tmp_test_range
(
id number,
name varchar2(30),
int_date date
)
PARTITION BY RANGE(int_date)
interval(NUMTOYMINTERVAL (1,'MONTH'))
(
partition P201511 values less than(to_date('20151201','yyyymmdd')),
partition P201512 values less than(to_date('20160101','yyyymmdd')));
ALTER TABLE tmp_test_range SET INTERVAL ();
alter table tmp_test_range add partition P20160101 values less than(to_date('20160102','yyyymmdd'));
ALTER TABLE tmp_test_range SET INTERVAL (NUMTODSINTERVAL(1,'DAY'));
2.range非間隔分區(qū)的情況
思路是刪除一些還沒(méi)有使用的月分區(qū),然后手工按天add partition ,并建議再改成按天間隔
create table tmp_test_range
(
id number,
name varchar2(30),
int_date date
)
PARTITION BY RANGE(int_date)
(
partition P201511 values less than(to_date('20151201','yyyymmdd')),
partition P201512 values less than(to_date('20160101','yyyymmdd')),
partition P201601 values less than(to_date('20160201','yyyymmdd')));
alter table tmp_test_range drop partition P201601;
alter table tmp_test_range add partition P20160101 values less than(to_date('20160102','yyyymmdd')); --新增一個(gè)起始分區(qū)
ALTER TABLE tmp_test_range SET INTERVAL (NUMTODSINTERVAL(1,'DAY'));
感謝各位的閱讀!關(guān)于“數(shù)據(jù)庫(kù)中如何將按月分區(qū)的表改為按天分區(qū)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!