2

分割条件を満たさない分割テーブルにデータを挿入する方法を教えてください。

4

2 に答える 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 パーティションを作成するという Vincent の提案がレンジ パーティション分割の答えです。

于 2009-12-01T12:51:24.250 に答える