5

私はオラクルにテーブルを持っています:

CREATE TABLE transaction (
    id INT NOT NULL,
    accountnumber VARCHAR NOT NULL,
    stmtvaluedate DATE NOT NULL,
    ...
)

そして、このテーブルを stmtvaluedate 列で分割したいと考えています。私の目標は、1 か月が経過した後に新しいパーティションを作成することです。

良いスクリプトはありますか?または、静的な数のパーティションを作成する必要がありますか?

1 か月が経過すると、新しいパーティションが自動的に作成されます。

毎月後にテーブルを日付列で分割する方法について、誰かに例を教えてもらえますか? 自動パーティション分割が不可能な場合は、毎月、日付列によって今から 1 年後のパーティションを作成する例が必要です。

ありがとう!

4

1 に答える 1

17

あなたがやりたいことは完全に可能です。これはそれを行う必要があります:

CREATE TABLE transaction (
    id INT NOT NULL,
    accountnumber VARCHAR2(30) NOT NULL,
    stmtvaluedate DATE NOT NULL
)
PARTITION BY RANGE (stmtvaluedate)
INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) 
    ( partition transaction_old values less than (to_date('01-JAN-2000','DD-MON-YYYY') ));
于 2015-11-19T15:51:39.987 に答える