このトピックでは、次の例での テーブル定義について説明します。
例: 無効なMODIFY PRIMARY INDEX文から例: パーティション範囲の削除および追加と、定義範囲外にある行の削除まで、および例: MODIFYを使用したテーブルの再パーティション化と、その結果としての無効行の保存テーブルへの保存から例: テーブルのパーティションの再評価までは、次のテーブルを使用します。
ordersテーブルには、o_orderkeyのプライマリ インデックスと単一レベル パーティションがあります。このテーブルには、o_orderkeyに定義されたUSIもあります。
CREATE TABLE orders ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER, o_orderstatus CHARACTER(1) CASESPECIFIC, o_totalprice DECIMAL(13,2) NOT NULL, o_orderdate DATE FORMAT 'yyyy-mm-dd' NOT NULL, o_orderpriority CHARACTER(21), o_clerk CHARACTER(16), o_shippriority INTEGER, o_comment VARCHAR(79)) PRIMARY INDEX (o_orderkey) PARTITION BY RANGE_N(o_orderdate BETWEEN DATE '1992-01-01' AND DATE '1998-12-31' EACH INTERVAL '1' MONTH) UNIQUE INDEX (o_orderkey);
orders_cpテーブルはマルチレベルの列パーティションで、2番目のパーティション レベルに行パーティションが定義されています。このパーティション レベルは、ordersの唯一のパーティション レベルと同じパーティション式を使用して定義されます。このテーブルには、o_orderkeyに定義されたUSIもあります。
CREATE TABLE orders_cp ( o_orderkey INTEGER NOT NULL, o_custkey INTEGER, o_orderstatus CHARACTER(1) CASESPECIFIC, o_totalprice DECIMAL(13,2) NOT NULL, o_orderdate DATE FORMAT 'yyyy-mm-dd' NOT NULL, o_orderpriority CHARACTER(21), o_clerk CHARACTER(16), o_shippriority INTEGER, o_comment VARCHAR(79)) NO PRIMARY INDEX PARTITION BY (COLUMN, RANGE_N(o_orderdate BETWEEN DATE '1992-01-01' AND DATE '1998-12-31' EACH INTERVAL '1' MONTH)) UNIQUE INDEX (o_orderkey);