任何人都可以告诉我如何在分区表中插入不满足分区条件的数据。
答案 0 :(得分:5)
您将收到ORA-14400错误:
SQL> CREATE TABLE t (ID NUMBER)
2 PARTITION BY RANGE (ID)
3 ( PARTITION t1 VALUES LESS THAN (100),
4 PARTITION t2 VALUES LESS THAN (200)
5 );
Table created
SQL> insert into t values (1);
1 row inserted
SQL> insert into t values (201);
insert into t values (201)
~
ORA-14400: inserted partition key does not map to any partition
为避免这种情况,您可以使用LESS THAN (MAXVALUE)
的默认分区:
SQL> CREATE TABLE t (ID NUMBER)
2 PARTITION BY RANGE (ID)
3 ( PARTITION t1 VALUES LESS THAN (100),
4 PARTITION t2 VALUES LESS THAN (200),
5 PARTITION tmax VALUES LESS THAN (MAXVALUE)
6 );
Table created
答案 1 :(得分:0)
如果您指的是范围分区表并使用11g,请查看使用间隔分区定义表。这类似于范围分区,但Oracle将自动为您创建新分区或拆分现有分区。如果您使用的是早期版本,则Vincent建议创建MAXVALUE分区是范围分区的答案。