oracle分区表分区栏位NULL值测试
实验在分区栏位为NULL时,分区表的反应
1.创建普通的分区表
CREATE TABLE MONKEY.TEST_PART_NULL_NORMAL ( ID NUMBER, ADD_DATE DATE ) PARTITION BY RANGE (ADD_DATE) (PARTITION DCS_P202004 VALUES LESS THAN (TO_DATE (' 2020-05-01 00:00:00','SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')))
2.插入空值
INSERT INTO MONKEY.TEST_PART_NULL_NORMAL(ID) VALUES (2);
报错
3.增加MAX分区
ALTER TABLE MONKEY.TEST_PART_NULL_NORMAL ADD PARTITION DCS_MAX VALUES LESS THAN (MAXVALUE);
插入成功,即普通分区表的MAX分区会接收不规范的数据
4.创建自增长分区
CREATE TABLE MONKEY.TEST_PART_NULL ( ID NUMBER, ADD_DATE DATE ) PARTITION BY RANGE(ADD_DATE) INTERVAL ( NUMTOYMINTERVAL (1, 'MONTH') )
(PARTITION DCS_P202004 VALUES LESS THAN (TO_DATE (' 2020-05-01 00:00:00','SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN')))
5.插入空值
6.增加MAX分区
结论:普通分区表,如果带有MAX分区,则可以插入空值,如果没有MAX分区,无法插入空值。自增长分区表无法增加分区也无法插入空值。