创建分区表

分区表使用了数据组织方案,即,表数据根据该表中一个或多个表分区键列中的值分布到多个存储对象(称为数据分区或范围)中。 根据 CREATE TABLE 语句的 PARTITION BY 子句中指定的内容,给定表的数据被划分到多个存储对象中。 这些存储对象可以在不同的表空间中,也可以在同一个表空间中。

准备工作

要创建表,语句授权标识拥有的特权必须至少包括下列其中一项权限或特权:
  • 对数据库的 CREATETAB 权限、对该表使用的所有表空间的 USE 特权以及下列其中一项权限或特权:
    • 对数据库的 IMPLICIT_SCHEMA 权限(如果该表的隐式或显式模式名不存在)
    • 对模式的 CREATEIN 特权(如果该表的模式名引用现有模式)
  • DBADM 权限

关于本任务

可以使用 CREATE TABLE 语句创建分区表。

过程

要使用命令行来创建分区表,请发出 CREATE TABLE 语句。
CREATE TABLE NAME (column_name data_type null_attribute) IN
	table_space_list PARTITION BY RANGE (column_expression) 
	STARTING FROM constant ENDING constant EVERY constant
例如,以下语句将创建一个表,在该表中,满足 a ≥ 1 且 a ≤ 20 的行位于 PART0(第一个数据分区)中,满足 21 ≤ a ≤ 40 的行位于 PART1(第二个数据分区)中,而满足 81 ≤ a ≤ 100 的行位于 PART4(最后一个数据分区)中。
CREATE TABLE foo(a INT) 
	PARTITION BY RANGE (a) (STARTING FROM (1) 
	ENDING AT (100) EVERY (20))