ORACLE 自增分区

-- 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 

猜你喜欢

转载自blog.csdn.net/weixin_57024726/article/details/133275715