如何在分区表中插入未在分区中定义的数据?

P S*_*rma 2 oracle partitioning

任何人都可以告诉我如何在分区表中插入不满足分区条件的数据.

Vin*_*rat 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
Run Code Online (Sandbox Code Playgroud)

为避免这种情况,您可以使用默认分区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
Run Code Online (Sandbox Code Playgroud)