レンジ - ハッシュ、時間隔 - ハッシュおよびリスト - ハッシュ・パーティション表の場合、サブパーティション・テンプレートでサブパーティションを詳細に指定することも、ハッシュ・サブパーティションの数のみを指定することも可能です。
例4-17では、サブパーティション・テンプレートを使用して、レンジ - ハッシュ・パーティション表を作成し、サブパーティションの名前と表領域を表示します。
この例では、次の説明を含む表を作成します。
各パーティションには、サブパーティション・テンプレートに記述されているように4つのサブパーティションがあります。
各サブパーティションには表領域が指定されています。サブパーティション・テンプレートで1つのサブパーティションに表領域が指定されている場合は、すべてのサブパーティションに表領域を1つ指定する必要があります。
時間隔 - *サブパーティション化を使用している場合以外、サブパーティションの名前は、次の書式でパーティション名とサブパーティション名を連結して生成されます。
partition name_subpartition name
時間隔 - *サブパーティション化の場合、サブパーティション名は次の書式でシステム生成されます。
SYS_SUBP
n
例4-17 サブパーティション・テンプレートを使用したレンジ - ハッシュ・パーティション表の作成
CREATE TABLE employees_sub_template (department_id NUMBER(4) NOT NULL, last_name VARCHAR2(25), job_id VARCHAR2(10)) PARTITION BY RANGE(department_id) SUBPARTITION BY HASH(last_name) SUBPARTITION TEMPLATE (SUBPARTITION a TABLESPACE ts1, SUBPARTITION b TABLESPACE ts2, SUBPARTITION c TABLESPACE ts3, SUBPARTITION d TABLESPACE ts4 ) (PARTITION p1 VALUES LESS THAN (1000), PARTITION p2 VALUES LESS THAN (2000), PARTITION p3 VALUES LESS THAN (MAXVALUE) ); SQL> SELECT TABLESPACE_NAME, PARTITION_NAME, SUBPARTITION_NAME 2 FROM DBA_TAB_SUBPARTITIONS WHERE TABLE_NAME='EMPLOYEEES_SUB_TEMPLATE' 3 ORDER BY TABLESPACE_NAME; TABLESPACE_NAME PARTITION_NAME SUBPARTITION_NAME --------------- --------------- ------------------ TS1 P1 P1_A TS1 P2 P2_A TS1 P3 P3_A TS2 P1 P1_B TS2 P2 P2_B TS2 P3 P3_B TS3 P1 P1_C TS3 P2 P2_C TS3 P3 P3_C TS4 P1 P1_D TS4 P2 P2_D TS4 P3 P3_D 12 rows selected.