例4-6はリスト・パーティション表を作成します。アメリカの州のグループを含む地域でパーティション化された表q1_sales_by_regionを作成します。行のパーティション化列の値が、パーティションを説明する値リストの値に一致するかどうかを確認して、行がパーティションにマッピングされます。たとえば、次のリストは、いくつかのサンプル行の表への挿入を示します。
(10, 'accounting', 100, 'WA')はパーティションq1_northwestにマッピングされます。
(20, 'R&D', 150, 'OR')はパーティションq1_northwestにマッピングされます。
(30, 'sales', 100, 'FL')はパーティションq1_southeastにマッピングされます。
(40, 'HR', 10, 'TX')はパーティションq1_southwestにマッピングされます。
(50, 'systems engineering', 10, 'CA')は表内のいずれのパーティションにもマッピングされず、エラーが発生します。
Live SQL
「Oracle Live SQL: リスト・パーティション化の例」で、Oracle Live SQLの関連する例を参照して実行してください。
例4-6 リスト・パーティション表の作成
CREATE TABLE q1_sales_by_region
(deptno number,
deptname varchar2(20),
quarterly_sales number(10, 2),
state varchar2(2))
PARTITION BY LIST (state)
(PARTITION q1_northwest VALUES ('OR', 'WA'),
PARTITION q1_southwest VALUES ('AZ', 'UT', 'NM'),
PARTITION q1_northeast VALUES ('NY', 'VM', 'NJ'),
PARTITION q1_southeast VALUES ('FL', 'GA'),
PARTITION q1_northcentral VALUES ('SD', 'WI'),
PARTITION q1_southcentral VALUES ('OK', 'TX'));