前提条件
ディメンションが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER
ANY
DIMENSION
システム権限が必要です。
所有者の権限があれば、ディメンションはいつでも変更されます。
構文
alter_dimension::=
(level_clause::=、hierarchy_clause::=、attribute_clause::=、extended_attribute_clause::=を参照)
hierarchy_clause::=
extended_attribute_clause::=
セマンティクス
次のキーワード、パラメータおよび句の意味は、ALTER
DIMENSION
に対してのみ有効です。その他のキーワード、パラメータおよび句には、CREATE
DIMENSION
文での機能と同じ機能があります。詳細は、「CREATE DIMENSION」を参照してください。
schema
変更するディメンションのスキーマを指定します。schema
を指定しない場合、ディメンションは自分のスキーマ内にあるとみなされます。
dimension
ディメンション名を指定します。ディメンションは、すでに存在している必要があります。
ADD
句を使用すると、ディメンションにレベル、階層または属性を追加できます。これらの要素の1つを追加しても、既存のマテリアライズド・ビューは無効になりません。
ADD
LEVEL
句は、他のADD
句より前に処理されます。
DROP
句を使用すると、ディメンションからレベル、階層または属性を削除できます。指定するすべてのレベル、階層または属性は、すでに存在している必要があります。
1つの属性で、1つのレベルに関連付けられている1つ以上のレベルと列の関係を削除できます。
DROPの制限事項: 属性または階層がレベルを参照する場合は、すべての参照している属性および階層を削除するか、またはCASCADE
を指定しないかぎり、このレベルを削除することはできません。
CASCADE CASCADE
を指定すると、レベルを参照する属性または階層をレベルとともに削除できます。
RESTRICT RESTRICT
を指定すると、属性または階層が参照するレベルを削除しないようにOracle Databaseに指示できます。これはデフォルトです。
COMPILE
を指定すると、無効のディメンションを明示的に再コンパイルできます。ADD
句またはDROP
句が発行されると、ディメンションは自動的にコンパイルされます。ただし、ディメンションが参照するオブジェクトを変更する(たとえば、ディメンションで参照された表を削除した後再作成する)と、ディメンションが無効になるため、これを明示的に再コンパイルする必要があります。