CREATE HIERARCHY
目的
CREATE HIERARCHY文を使用して、階層を作成します。階層では、属性ディメンションのレベル間の階層関係を指定します。
                  
前提条件
自分のスキーマ内に階層を作成する場合は、CREATE HIERARCHYシステム権限が必要です。別のユーザーのスキーマに階層を作成する場合は、CREATE ANY HIERARCHYシステム権限が必要です。
                  
構文
create_hierarchy::=
classification_clause::=
hier_using_clause::=
level_hier_clause::=
hier_attrs_clause::=
hier_attr_clause::=
hier_attr_name::=
セマンティクス
OR REPLACE
階層の既存の定義を異なる定義で置換するには、OR REPLACEを指定します。
                  
FORCEおよびNOFORCE
正常にコンパイルされない場合でも強制的に階層を作成するには、FORCEを指定します。NOFORCEを指定した場合、階層を正常にコンパイルする必要があり、そうでない場合はエラーが発生します。デフォルトは、NOFORCEです。
                  
schema
階層を作成するスキーマを指定します。スキーマを指定しない場合、自分のスキーマに階層が作成されます。
階層
階層の名前を指定します。
SHARING
SHARING句は、アプリケーションのメンテナンスの際に、アプリケーション・ルートにオブジェクトを作成する場合に使用します。このタイプのオブジェクトはアプリケーション共通オブジェクトと呼ばれ、アプリケーション・ルートに属するアプリケーションPDBと共有できます。
次の共有属性のいずれかを使用して、オブジェクトを共有する方法を指定できます。
- 
                        METADATA- メタデータ・リンクはメタデータを共有しますが、そのデータは各コンテナに固有です。このタイプのオブジェクトは、メタデータリンク・アプリケーション共通オブジェクトと呼ばれます。
- 
                        NONE- オブジェクトは共有されず、アプリケーション・ルートでのみアクセスできます。
classification_clause
classification句を使用して、CAPTIONまたはDESCRIPTION分類の値を指定し、ユーザー定義分類を指定します。分類では、分析ビューとそのコンポーネントの情報を提供するためにアプリケーションで使用される、説明的なメタデータを提供します。
                  
同じオブジェクトに、任意の数の分類を指定できます。分類の最大長は4000バイトです。
CAPTIONとDESCRIPTION分類では、DDLショートカットCAPTION 'caption'およびDESCRIPTION 'description'または完全な分類構文を使用できます。
                  
言語別に分類値を変更できます。CAPTIONまたはDESCRIPTION分類に言語を指定するには、完全な構文を使用する必要があります。言語を指定しない場合、分類の言語の値はNULLです。言語の値は、NULLまたは有効なNLS_LANGUAGE値である必要があります。
                  
hier_using_clause
階層のメンバーを持つ属性ディメンションを指定します。
level_hier_clause
階層レベルの編成を指定します。
hier_attrs_clause
階層属性の説明的なメタデータを含む分類を指定します。特定のhier_attr_nameのhier_attr_clauseは、リストに1回のみ出現できます。
                  
すべての階層には常に、すべての階層属性が含まれますが、この句で指定した場合を除き、階層属性には関連付けられている説明的なメタデータはありません。
hier_attr_clause
階層属性を指定して、1つ以上の分類を指定します。
hier_attr_name
階層属性を指定します。
例
次の例では、TIME_HIER階層を作成します。
                  
CREATE OR REPLACE HIERARCHY time_hier  -- Hierarchy name
USING time_attr_dim               -- Refers to TIME_ATTR_DIM attribute dimension
 (month CHILD OF                  -- Months in the attribute dimension
 quarter CHILD OF
 year);次の例では、PRODUCT_HIER階層を作成します。
                  
CREATE OR REPLACE HIERARCHY product_hier
USING product_attr_dim
 (category
  CHILD OF department);次の例では、GEOGRAPHY_HIER階層を作成します。
                  
CREATE OR REPLACE HIERARCHY geography_hier
USING geography_attr_dim
 (state_province
  CHILD OF country
  CHILD OF region);





