このトピックでは、リスト範囲のパーティションテーブルを作成する方法について説明します。
構文
次のステートメントを使用して、各パーティションに1つ以上のサブパーティションを含めることができる1つ以上のリスト範囲パーティションテーブルを作成します。
CREATE TABLE [スキーマ] 。 ] table_name
table_definition
リストによるパーティー {(expr) | COLUMNS(column_list)}
リストによるサブパート (expr)
(partition_definition [, partition_definition] ...);
partition_definition
は次のとおりです。
PARTITION partition_name
VALUES IN (value_list)
(subpartition_definition [, subpartition_definition] ...)
subpartition_definition
は次のとおりです。
SUBPARTITION subpartition_name
{value | MAXVALUE}
より少ない値パラメーター
パラメーター | 説明 |
table_name | テーブルの名前。 |
expr | パーティションの式。 INTタイプである必要があります。 string型はサポートされていません。 |
column_list | パーティションのリスト。 LIST COLUMNS() で使用されます。 式はサポートされていません。 |
value | パーティションの境界値。 |
value_list | パーティションの境界値のリスト。 LIST COLUMNS() で使用されます。 |
MAXVALUE | パーティションの最大値。 |
partition_name | パーティションの名前。 名前はテーブル内で一意である必要があります。 |
subpartition_name | サブパーティションの名前。 名前はテーブル内で一意である必要があります。 |
例
リスト範囲分割テーブルを作成します。
テーブルの作成sales_list_range
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
リストによるパーティー (dept_no)
範囲によるサブパート (金額)
(
(1、2) のPARTITION p0値 ()
サブパートs0の値は (1000) 未満、
サブマウントs1値が (2000) 未満、
分割s2値は (3000) よりも少なく、
サブパートs3値がより少ない (最大値)
),
(3、4) のパートp1値 (
サブパートs4の値は (1000) 未満、
サブパートs5の値は (2000) 未満、
下位区分s6の値は (2000) 未満、
サブパートs7値がより少ない (最大値)
),
(5、6) のPARTITION p2の値 ()
サブパートs8の値は (1000) 未満、
サブパートs9の値は (2000) 未満、
サブパートs10の値は (3000) 未満、
サブパートs11値がより少ない (最大値)
)
);
リスト列範囲パーティション分割テーブルを作成します。
テーブルの作成sales_list_columns_range
(
dept_no INT、
part_no INT,
国varchar(20) 、
日付,
金額INT
)
リストコラムによるパーティー (国)
範囲によるサブパーティー (月 (日付))
(
('FRANCE' 、'ITALY') のパートヨーロッパの価値 ()
SUBPARTITION q1_2012の値は (4) より少なく、
SUBPARTITION q2_2012値は以下 (7) 、
SUBPARTITION q3_2012値が (10) 未満、
SUBPARTITION q4_2012値がより少ない (13)
),
('INDIA' 、'PAKISTAN') のPARTITION asia値 (
SUBPARTITION q1_2013の値は (4) 未満、
SUBPARTITION q2_2013値は以下 (7) 、
SUBPARTITION q3_2013値が (10) 未満、
SUBPARTITION q4_2013値がより少ない (13)
),
('US '、'CANADA') のPARTITION americas VALUES ()
SUBPARTITION q1_2014値は (4) 未満、
SUBPARTITION q2_2014値は以下 (7) 、
サブパートq3_2014値が (10) 未満、
サブパートq4_2014値がより少ない (13)
)
);