任何人都可以告诉我如何在不满足分区条件的分区表中插入数据。
问问题
17118 次
2 回答
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
于 2009-12-01T09:15:40.307 回答
0
如果您指的是范围分区表并且使用的是 11g,请查看使用间隔分区定义表。这类似于范围分区,只是 Oracle 会自动为您创建新分区或拆分现有分区。如果您使用的是较早版本,那么文森特创建 MAXVALUE 分区的建议就是范围分区的答案。
于 2009-12-01T12:51:24.250 回答