This topic describes how to create a hash-list partitioned table.
Syntax
The following statement is used to create one or more hash-list partitioned table where each partition may contain one or more subpartitions:
CREATE TABLE [ schema. ]table_name
table_definition
PARTITION BY [LINEAR] HASH(expr)
SUBPARTITION BY LIST (expr)
(partition_definition [, partition_definition] ...)
partition_definition
is:
PARTITION partition_name
(subpartition_definition [, subpartition_definition] ...)
subpartition_definition
is:
SUBPARTITION subpartition_name
VALUES IN (value_list)
Parameters
Parameter | Description |
table_name | The name of the table. |
expr | The expression of the partition. It must be of the INT type. The string type is not supported. |
value_list | The list of the boundary values. |
partition_name | The name of the partition. The name must be unique within the table. |
subpartition_name | The name of the subpartition. The name must be unique within the table. |
Examples
Create a hash-list partitioned table:
CREATE TABLE sales_hash_list
(
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT
)
PARTITION BY HASH(dept_no)
SUBPARTITION BY LIST(part_no)
(
PARTITION dp0 (
SUBPARTITION p0 VALUES in (1, 2),
SUBPARTITION p1 VALUES in (3, 4),
SUBPARTITION p2 VALUES in (5, 6)
),
PARTITION dp1
(
SUBPARTITION p3 VALUES in (1, 2),
SUBPARTITION p4 VALUES in (3, 4),
SUBPARTITION p5 VALUES in (5, 6)
),
PARTITION dp2
(
SUBPARTITION p6 VALUES in (1, 2),
SUBPARTITION p7 VALUES in (3, 4),
SUBPARTITION p8 VALUES in (5, 6)
)
);