目录
与普通建表语句相比,分区表多了一些分区信息;
以下面销售明细表为例,以data_dt为分区键,NUMTODSINTERVAL(1, 'day')?按日分区
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
设置part_t01为初始的分区,可以根据实际需求设置初始分区的边界。
(PARTITION part_t01 VALUES LESS THAN(to_date('2020-01-01', 'yyyy-mm-dd')))
按其他周月年分区需要 替换 标黄部分。(前缀英文不一样注意区分)
PARTITION BY RANGE (data_dt) INTERVAL (NUMTODSINTERVAL(1, 'day'))
--按日分区 NUMTODSINTERVAL(1, 'day')
--按周分区 NUMTODSINTERVAL (7, 'day')
--按月分区 NUMTOYMINTERVAL(1, 'month')
--按年分区 NUMTOYMINTERVAL(1, 'year')?
-- 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')