oracle11g分割槽表按時間自動建立

2021-08-18 19:02:52 字數 1297 閱讀 4612

**:

首先來介紹下numtodsinterval和numtoyminterval兩個函式。

numtoyminterval和numtoyminterval是日期轉換函式,作用:可以將數字轉換成相應的日期單位時間

語法:numtoyminterval ( n , 'char_expr' )

char_expr:日期描述,可以是year和month。

通常當我們使用add_month新增月時,如果輸入是本月月底的日期,那麼得到的也是月底的日期,比如add_month(to_date('2007-02-28','yyyy-mm-dd'),1)得到的就會是'2007-03-31',而不是'2007-03-28'。

此時,如果使用的是to_date('2007-02-28','yyyy-mm-dd')+numtoyminterval(1,'month'),那麼得到的就是'2007-03-28'。

numtodsinterval的用法和numtoyminterval一樣只是他的引數為day、hour、minute、second。

oracle 11g之前,維護分割槽需要手工。11g之後使用interval來實現自動擴充套件分割槽,簡化了維護。

根據年: interval(numtoyminterval(1,'year'))

根據月: interval(numtoyminterval(1,'month'))

根據天: interval(numtodsinterval(1,'day'))

根據時分秒: numtodsinterval( n, )

create

table tablenames (fid number

notnull

primary

key, sdate date,addr varchar2(1000))

partition by range (sdate) interval (numtoyminterval (1,'month'))

(partition ptablenames values less than (to_date('2017-02-13', 'yyyy-mm-dd'))

)

建立完畢後通過如下sql進行查詢分割槽:
select partition_name from user_tab_partitions where table_name='tablenames';
新增不同年份的資料,就會發現會按照年自動生成對應分割槽。
刪除分割槽請檢視:

oracle 11g 按時間建分割槽表

假如已建立的表不能再建立分割槽,只有重新建分割槽表,然後將資料匯入表中,再將表名改為原表名 1.我的原表名為monitor data,現在建臨時分割槽表 create table gps monitor data tmp data id char 36 byte not null,equip id ...

oracle11g分割槽表

1按需建立分割槽,可以自動擴充套件分割槽 create table f sales sales amt number,d date date partition by range d date interval numtoyminterval 1,year partition p1 values l...

Oracle 11g筆記 分割槽表

一 分割槽表 分割槽技術,oracle允許把乙個大表分成幾部分,每部分叫乙個分割槽,然後把每個部分放在不同的物理磁碟,以提高整個資料庫的效能。每個分割槽還可以再分成幾份,這樣產生的分割槽叫子分割槽 subpartition 分割槽表邏輯上還是乙個整體。1 優點 1 分割槽技術使資料庫的可管理性變得更...