我想知道您是否可以帮助我弄清楚并在 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 天的新分区。