--檢視資料庫中所有使用者的分區表
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;
測試效果