--查看数据库中所有用户的分区表
SELECT * FROM DBA_TABLES WHERE PARTITIONED='YES' AND OWNER NOT IN ('SYSTEM','SYS') ORDER BY OWNER
--查看当前用户下的分区表
SELECT * FROM USER_TABLES WHERE PARTITIONED='YES'
--创建分区表--注意 PARTITION 的字段不能为空
CREATE TABLE TABLE_TEST
(
ID VARCHAR2(36 CHAR) NOT NULL PRIMARY KEY,
EVENT_ID VARCHAR2(36 CHAR),
PATIENT_ID VARCHAR2(36 CHAR),
PATIENT_NAME VARCHAR2(50 CHAR),
WARD_ID VARCHAR2(36 CHAR),
WARD_NAME VARCHAR2(50 CHAR),
ISSUE_TIME DATE
)
PARTITION BY RANGE (ISSUE_TIME)
INTERVAL ( NUMTOYMINTERVAL (3, 'MONTH') ) --每3个月建一个分区
(
PARTITION P1 VALUES LESS THAN (TO_DATE('2018-1-1', 'YYYY-MM-DD')) --15年之前的数据统一建一个分区
) --将现有表修改成分区表(此方法配合 RENAME TABLE_NAME TO TABLE_NAME_NEW 适用于数据迁移)
CREATE TABLE E_CHARGE_RECORD_1
PARTITION BY RANGE (ISSUE_TIME)
INTERVAL ( NUMTOYMINTERVAL (3, 'MONTH') ) --每3个月建一个分区
(
PARTITION P1 VALUES LESS THAN (TO_DATE('2015-1-1', 'YYYY-MM-DD')) --15年之前的数据统一建一个分区
)
AS
SELECT * FROM E_CHARGE_RECORD;
测试效果