日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ADD PARTITION

本文檔介紹了將分區和子分區添加到現有分區表中的方法。

語法

ALTER TABLE…ADD PARTITION命令用于將分區和子分區添加到現有的分區表中。

ALTER TABLE table_name ADD PARTITION partition_definition;

partition_definition為:

{list_partition | range_partition | hash_partition | key_partition}

其中list_partition為:

PARTITION [partition_name]
VALUES IN (value[, value]...)
[TABLESPACE tablespace_name]、
(subpartition, ...)

range_partition為:

PARTITION partition_name
VALUES LESS THAN (value[, value]...)
[TABLESPACE tablespace_name]
[(subpartition, ...)]

hash_partition/key_partition為:

PARTITION partition_name
[TABLESPACE tablespace_name]
(subpartition, ...)

其中subpartition為:

{list_subpartition | range_subpartition | hash_partition | key_partition}

list_subpartition 為:

SUBPARTITION [subpartition_name]
VALUES IN (value[, value]...)
[TABLESPACE tablespace_name]

range_subpartition為:

SUBPARTITION [subpartition_name ]
VALUES LESS THAN (value[, value]...)
[TABLESPACE tablespace_name]

hash_partition/key_subpartition為:

SUBPARTITION [subpartition_name ]
[TABLESPACE tablespace_name]

參數

參數

參數說明

table_name

要創建的表名稱(可以采用模式限定的方式引用)。

partition_name

要創建的分區名稱。分區名稱在所有分區和子分區中必須是唯一的,且必須遵循給對象標識符命名的慣例。

subpartition_name

要創建的子分區名稱。子分區名稱在所有分區和子分區中必須是唯一的,且必須遵循給對象標識符命名的慣例。

(value[, value]...)

使用value來指定一個引用的文本值(或以逗號分隔的文本值列表)將表項目劃分為不同的分區。每個分區規則必須至少指定一個值,但在規則中對于指定的值的數量沒有上限要求。Value可能為nulldefault(如果指定了一個list分區的話)或maxvalue(如果指定了一個range分區的話)。

tablespace_name

分區或子分區所屬的表空間名稱。

描述

ALTER TABLE…ADD PARTITION命令用于添加分區和子分區到現有的分區中,且這個分區必須已經進行了子分區的劃分。新的分區和子分區必須與現有分區和子分區的類型相同。新分區規則必須引用和定義現有分區的分區規則中指定的相同列。

如果您沒有指定表空間(包括TABLESPACE子句指定新的子分區所屬的表空間),那么子分區將創建于默認表空間。

如果對表進行了索引設置,那么索引將創建在新的子分區上。

示例

說明

RANGE分區必須以升序的方式指定。不能將新分區添加在RANGE分區表中現有的分區之前。

  • 添加分區到sales_range_range分區表:

    1. 假設數據庫中存在sales_range_range分區表,建表語句如下:

      CREATE TABLE sales_range_range
      (
        dept_no     INT,
        part_no     INT,
        country     varchar(20),
        date        DATE,
        amount      INT
      )
      PARTITION BY RANGE(dept_no)
      SUBPARTITION BY RANGE(part_no)
      (
        PARTITION p0 VALUES LESS THAN (1000) (
          SUBPARTITION s0 VALUES LESS THAN(100),
          SUBPARTITION s1 VALUES LESS THAN(200),
          SUBPARTITION s2 VALUES LESS THAN(300),
          SUBPARTITION s3 VALUES LESS THAN(MAXVALUE)
        )
      );
    2. 使用ALTER TABLE…ADD PARTITION命令添加分區和子分區到sales_range_range分區表。

      ALTER TABLE sales_range_range ADD PARTITION (
          PARTITION p_2015 VALUES less than (2016)
          (
          SUBPARTITION q1_2015 VALUES LESS THAN(4),
          SUBPARTITION q2_2015 VALUES LESS THAN(7),
          SUBPARTITION q3_2015 VALUES LESS THAN(10),
          SUBPARTITION q4_2015 VALUES LESS THAN(13)
        )
      );
  • 添加分區到sales_list_range分區表:

    1. 假設數據庫中存在sales_list_range分區表,建表語句如下:

      CREATE TABLE sales_list_range
      (
        dept_no     INT,
        part_no     INT,
        country     varchar(20),
        date        DATE,
        amount      INT
      )
      PARTITION BY LIST (dept_no)
      SUBPARTITION BY RANGE(amount)
      (
        PARTITION p0 VALUES in (1, 2)(
          SUBPARTITION s0 VALUES LESS THAN(1000),
          SUBPARTITION s1 VALUES LESS THAN(2000),
          SUBPARTITION s2 VALUES LESS THAN(3000),
          SUBPARTITION s3 VALUES LESS THAN(MAXVALUE)
        )
      );
    2. 使用ALTER TABLE…ADD PARTITION命令添加分區和子分區到sales_list_range分區表。

      ALTER TABLE sales_list_range ADD PARTITION (
         PARTITION p3 VALUES in (7, 8)(
          SUBPARTITION q1_2015 VALUES LESS THAN(4),
          SUBPARTITION q2_2015 VALUES LESS THAN(7),
          SUBPARTITION q3_2015 VALUES LESS THAN(10),
          SUBPARTITION q4_2015 VALUES LESS THAN(13)
        )
      );
  • 添加分區到sales_hash_hash分區表:

    1. 假設數據庫中存在sales_hash_hash分區表,建表語句如下:

      CREATE TABLE sales_hash_hash
      (
        dept_no     INT,
        part_no     INT,
        country     varchar(20),
        date        DATE,
        amount      INT
      )
         PARTITION BY HASH(dept_no) PARTITIONS 9
         SUBPARTITION BY HASH(part_no) SUBPARTITIONS 3
      ;
    2. 使用ALTER TABLE…ADD PARTITION命令添加分區和子分區到sales_hash_hash分區表。

      ALTER TABLE sales_hash_hash ADD PARTITION (
         PARTITION m3(
          SUBPARTITION d6,
          SUBPARTITION d7,
          SUBPARTITION d8
        )
      );
  • 添加分區到sales_key_key分區表:

    1. 假設數據庫中存在sales_key_key分區表,建表語句如下:

      CREATE TABLE sales_key_key
      (
        dept_no     varchar(20),
        part_no     varchar(20),
        country     varchar(20),
        date        DATE,
        amount      INT
      )
         PARTITION BY KEY(dept_no) PARTITIONS 3
         SUBPARTITION BY KEY(part_no) SUBPARTITIONS 2;
    2. 使用ALTER TABLE…ADD PARTITION命令添加分區和子分區到sales_key_key分區表。

      ALTER TABLE sales_key_key ADD PARTITION (
         PARTITION m3(
          SUBPARTITION d6,
          SUBPARTITION d7
        )
      );