oracle 11g 创建分区表
时间: 2023-05-23 20:05:13 浏览: 237
ORACLE分区表的创建
A:
创建分区表的语法如下:
```
CREATE TABLE table_name
(column1 datatype1, column2 datatype2,...)
PARTITION BY RANGE (column_name)
(
PARTITION partition_name1 VALUES LESS THAN (value1),
PARTITION partition_name2 VALUES LESS THAN (value2),
PARTITION partition_name3 VALUES LESS THAN (MAXVALUE)
);
```
其中,table_name 是表名,column1、column2 是列名和数据类型,column_name 是用于分区的列名。
PARTITION BY RANGE 是分区方式,指定分区键,这里使用了 RANGE 分区方式。
分区名称和分区边界值在 VALUES LESS THAN 之后指定,分区边界值是指定范围内的最大或最小值。
例如,以下示例将创建一个名为 sales 的表,该表使用 sales_date 列作为分区键,并在 2019 年前、2019 年、2020 年和 2021 年之后分成四个分区,每个分区使用不同的表空间:
```
CREATE TABLE sales
(id INT PRIMARY KEY,
sales_date DATE,
sales_amount NUMBER(10,2))
PARTITION BY RANGE (sales_date)
(
PARTITION sales_q1_2019 VALUES LESS THAN (TO_DATE('01-APR-2019', 'DD-MON-YYYY')),
PARTITION sales_q2_2019 VALUES LESS THAN (TO_DATE('01-JUL-2019', 'DD-MON-YYYY')),
PARTITION sales_q3_2019 VALUES LESS THAN (TO_DATE('01-OCT-2019', 'DD-MON-YYYY')),
PARTITION sales_q4_2019 VALUES LESS THAN (TO_DATE('01-JAN-2020', 'DD-MON-YYYY')),
PARTITION sales_q1_2020 VALUES LESS THAN (TO_DATE('01-APR-2020', 'DD-MON-YYYY')),
PARTITION sales_q2_2020 VALUES LESS THAN (TO_DATE('01-JUL-2020', 'DD-MON-YYYY')),
PARTITION sales_q3_2020 VALUES LESS THAN (TO_DATE('01-OCT-2020', 'DD-MON-YYYY')),
PARTITION sales_q4_2020 VALUES LESS THAN (TO_DATE('01-JAN-2021', 'DD-MON-YYYY')),
PARTITION sales_future VALUES LESS THAN (MAXVALUE)
)
TABLESPACE sales_ts;
```
在此示例中,我们根据销售日期对表进行了分区,并提交了三个月和四个季度的数据,每个季度使用了不同的分区。 最后一个分区是用于未来销售数据的。 使用 TABLESPACE 关键字指定为每个分区使用不同的表空间。
阅读全文