-- 1. 创建一个序列,用于生成唯一的分区键值
CREATE SEQUENCE SALS_SEQ
START WITH 1
INCREMENT BY 1
NOCACHE--禁用缓存
NOCYCLE--禁用达到最大值循环回到最小值
-- 2.创建一个分区表
CREATE TABLE SALS_DATA
(
SAL_ID NUMBER,
SAL_DATE DATE,
SAL_AMOUNT NUMBER
)
PARTITION BY RANGE (SAL_DATE)
INTERVAL (NUMTOYMINTERVAL(1,'MONTH'))
(
PARTITION P0 VALUES LESS THAN (to_date('2023-01-01','yyyy-mm-dd') )
);
-- INTERVAL(),指定分区键的间隔大小
-- NUMTOYMINTERVAL(number, INTERVAL_INT) -- 用于将数字转化为年份或月份的间隔NUMBER:是需要转换为时间间隔的数字
INTERVAL_INT: 是时间间隔单位,可以是 year ,month,day
INSERT INTO SALS_DATA (SAL_ID,SAL_DATE,SAL_AMOUNT)
VALUES(SALS_SEQ.NEXTVAL,TO_DATE('2023-02-01','YYYY-MM-DD'),10000);
SELECT * FROM SALS_DATA PARTITION(SYS_P21);
--查询用户表分区信息
SELECT
*
FROM USER_TAB_PARTITIONS