目录
1、分区键
2、初始分区
3、周月年自动分区
4、按日自动分区表建表语句
与普通建表语句相比,分区表多了一些分区信息;
1、分区键
以下面销售明细表为例,以data_dt为分区键,NUMTODSINTERVAL(1, 'day') 按日分区
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
2、初始分区
设置part_t01为初始的分区,可以根据实际需求设置初始分区的边界。
(PARTITION part_t01 VALUES LESS THAN(to_date('2020-01-01', 'yyyy-mm-dd')))
3、周月年自动分区
按其他周月年分区需要 替换 标黄部分。(前缀英文不一样注意区分)
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
--按日分区 NUMTODSINTERVAL(1, 'day')
--按周分区 NUMTODSINTERVAL (7, 'day')
--按月分区 NUMTOYMINTERVAL(1, 'month')
--按年分区 NUMTOYMINTERVAL(1, 'year')
4、按日自动分区表建表语句
-- Create table
CREATE TABLE sales_info
(data_dt DATE,prod_id VARCHAR2(50),prod_num VARCHAR2(50),prod_nm VARCHAR2(100),prod_color VARCHAR2(20),prod_size VARCHAR2(10),quantity_sold INTEGER,data_tm TIMESTAMP
)
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
(partition part_t01 values less than(to_date('2020-01-01', 'yyyy-mm-dd')));
;
--按日分区 NUMTODSINTERVAL(1, 'day')
--按周分区 NUMTODSINTERVAL (7, 'day')
--按月分区 NUMTOYMINTERVAL(1, 'month')
--按年分区 NUMTOYMINTERVAL(1, 'year')