ALTER TABLE...SPLIT PARTITION v12
Use the ALTER TABLE… SPLIT PARTITION
command to divide a single partition into two partitions and redistribute the partition's contents between the new partitions. The command syntax comes in two forms.
The first form splits a RANGE
partition into two partitions:
The second form splits a LIST
partition into two partitions:
Description
The ALTER TABLE...SPLIT PARTITION
command adds a partition to an existing LIST
or RANGE
partitioned table. Please note that the ALTER TABLE… SPLIT PARTITION
command cannot add a partition to a HASH
partitioned table. There is no upper limit to the number of partitions that a table may have.
When you execute an ALTER TABLE...SPLIT PARTITION
command, Advanced Server creates two new partitions and redistributes the content of the old partition between them (as constrained by the partitioning rules).
Include the TABLESPACE
clause to specify the tablespace in which a partition will reside. If you do not specify a tablespace, the partition will reside in the default tablespace.
If the table is indexed, the index will be created on the new partition.
To use the ALTER TABLE... SPLIT PARTITION
command you must be the table owner, or have superuser (or administrative) privileges.
Parameters
table_name
The name (optionally schema-qualified) of the partitioned table.
partition_name
The name of the partition that is being split.
new_part1
The name of the first new partition to be created. Partition names must be unique amongst all partitions and subpartitions, and must follow the naming conventions for object identifiers.
new_part1
will receive the rows that meet the partitioning constraints specified in the ALTER TABLE… SPLIT PARTITION
command.
new_part2
The name of the second new partition to be created. Partition names must be unique amongst all partitions and subpartitions, and must follow the naming conventions for object identifiers.
new_part2
will receive the rows are not directed to new_part1
by the partitioning constraints specified in the ALTER TABLE… SPLIT PARTITION
command.
range_part_value
Use range_part_value
to specify the boundary rules by which to create the new partition. The partitioning rule must contain at least one column of a data type that has two operators (i.e., a greater-than-or-equal to operator, and a less-than operator). Range boundaries are evaluated against a LESS THAN
clause and are non-inclusive; a date boundary of January 1, 2010 will include only those date values that fall on or before December 31, 2009.
(value[, value]...)
Use value
to specify a quoted literal value (or comma-delimited list of literal values) by which rows will be distributed into partitions. Each partitioning rule must specify at least one value, but there is no limit placed on the number of values specified within a rule.
For information about creating a DEFAULT
or MAXVALUE
partition, see Handling Stray Values in a LIST or RANGE Partitioned Table.
tablespace_name
The name of the tablespace in which the partition or subpartition resides.
example_splitting_a_list_partition example_splitting_a_range_partition