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

发布于 2024-08-12 18:46:40 字数 36 浏览 2 评论 0原文

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

Anybody can tell me how can we insert data in partitioned table which is not satisfying partitioning condition.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

最偏执的依靠 2024-08-19 18:46:40

您将收到 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

you will get a ORA-14400 error:

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

To avoid this, you could use a default partition with 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
棒棒糖 2024-08-19 18:46:40

如果您指的是范围分区表并且正在使用 11g,请考虑使用区间分区来定义表。这与范围分区类似,只不过 Oracle 会自动为您创建新分区或拆分现有分区。如果您使用的是早期版本,那么 Vincent 创建 MAXVALUE 分区的建议就是范围分区的答案。

If you're referring to range-partitioned tables and are using 11g, look into defining the tables with interval partitioning. This is similar to range partitioning except that Oracle will create new partitions or split existing partitions automatically for you. If you are on an earlier release then Vincent's suggestion of creating a MAXVALUE partition is the answer for range partitioning.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文