以下の例では、「例: 行が割り当てられるパーティションの定義」を変更して、マルチレベルPPIを定義するパーティション化式のリストでCASE_Nを使用しています。
CREATE TABLE orders (storeid INTEGER NOT NULL ,productid INTEGER NOT NULL ,orderdate DATE FORMAT 'yyyy-mm-dd' NOT NULL ,totalorders INTEGER NOT NULL) PRIMARY INDEX (storeid, productid) PARTITION BY (CASE_N(totalorders < 100, totalorders < 1000, NO CASE) ,CASE_N(orderdate <= '2005-12-31', NO CASE) );
この例では、行が割り当てられる6つのパーティションが定義されています。最初のCASE_N式は、totalorders列の値に基づいて3つのパーティションを定義しています。2番目のCASE_N式は、orderdate列の値に基づいて3つのパーティションをそれぞれ2つのパーティションに再分割しています。
レベル1パーティション番号 | レベル2パーティション番号 | 条件 |
---|---|---|
1 | 1 | totalorders列の値は100より小さく、orderdate列の値は'2005-12-31'より小さいか等しい。 |
2 | totalorders列の値は100より小さく、orderdate列の値は'2005-12-31'より大きい。 | |
2 | 1 | totalorders列の値は1000より小さく、100より大きいか等しい。orderdate列の値は'2005-12-31'より小さいか等しい。 |
2 | totalorders列の値は1000より小さく、100より大きいか等しい。orderdate列の値は'2005-12-31'より大きい。 | |
3 | 1 | totalorders列の値は1000より大きいか等しく、orderdate列の値は'2005-12-31'より小さいか等しい。 |
2 | totalorders列の値は1000より大きいか等しく、orderdate列の値は'2005-12-31'より大きい。 |