按周分区 - Oracle 数据库



我想知道您是否可以帮助我弄清楚并在 Oracle 中按周处理分区。

的情况是我每天都有很多数据,我想每周进行分区。在将数据插入数据库时,我还将使用 sysdate,以使记录唯一。

我应该手动编写它们吗?如果是,它应该是什么样子?我是否仍应使用以下内容:小于的值?

真的很期待听到您的意见!

每周分区是一个问题,但您可以创建 7 天的间隔分区。Oracle 将自动为新条目创建新分区。

create table TEST_partition
(
  ID              number(4, 0)
, creation_date   date
)
partition by range  (creation_date)
  interval ( numtodsinterval(7, 'day') )
  (partition TEST_P1 values less than (to_date(' 2018-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')));

您可以按如下方式创建间隔分区:

CREATE TABLE invoices
(invoice_no    NUMBER NOT NULL,
 invoice_date  DATE   NOT NULL,
 comments      VARCHAR2(500))
PARTITION BY RANGE (invoice_date)
INTERVAL (NUMTODSINTERVAL(7,'DAY'))
(PARTITION invoices_q1 VALUES LESS THAN (TO_DATE('01/04/2001', 'DD/MM/YYYY')));

它会创建一个从星期日到星期六的 7 天的新分区。

最新更新