用途
DROP
MATERIALIZED
VIEW
文を使用すると、データベースから既存のマテリアライズド・ビューを削除できます。
削除したマテリアライズド・ビューは、ごみ箱内には移動しません。このため、削除したマテリアライズド・ビューを消去またはリカバリすることはできません。
注意: 下位互換性を保つために、MATERIALIZED VIEW のかわりにキーワードSNAPSHOT もサポートされています。 |
関連項目:
|
前提条件
削除するマテリアライズド・ビューが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP
ANY
MATERIALIZED
VIEW
システム権限が必要です。また、データベースがマテリアライズド・ビューのデータを管理するために使用する内部表、ビュー、索引を削除する権限も必要です。
関連項目: マテリアライズド・ビューを管理するために使用するオブジェクトの削除に必要な権限については、「DROP TABLE」、「DROP VIEW」および「DROP INDEX」を参照してください。 |
セマンティクス
schema
マテリアライズド・ビューが含まれているスキーマを指定します。schema
を指定しない場合、このマテリアライズド・ビューは自分のスキーマ内にあるとみなされます。
materialized_view
削除する既存のマテリアライズド・ビューの名前を指定します。
マスター表から、最後にリフレッシュされた単純マテリアライズド・ビューを削除した場合、マスター表のマテリアライズド・ビュー・ログのうち、削除されたマテリアライズド・ビューのリフレッシュに必要な行のみが自動的に削除されます。
事前作成表で作成されたマテリアライズド・ビューを削除した場合、そのマテリアライズド・ビューが削除され、事前作成表は1つの表としての元の形に戻ります。
マスター表を削除した場合、その表に基づくマテリアライズド・ビューは自動的には削除されません。ただし、削除したマスター表に基づくマテリアライズド・ビューをリフレッシュしようとした場合、エラー・メッセージが戻されます。
マテリアライズド・ビューを削除した場合、マテリアライズド・ビューを使用するためにリライトされたコンパイル済の要求が無効になり、自動的に再コンパイルされます。そのマテリアライズド・ビューが表に事前作成されていた場合、その表は削除されませんが、マテリアライズド・ビューのリフレッシュ・メカニズムで管理できなくなります。
PRESERVE TABLE句
この句を使用すると、マテリアライズド・ビュー・オブジェクトを削除した後も、そのマテリアライズド・ビューのコンテナ表およびその内容を保持できます。結果の表の名前は、削除したマテリアライズド・ビューと同じになります。
マテリアライズド・ビューに関連付けられているすべてのメタデータは削除されます。ただし、そのマテリアライズド・ビューの作成時にコンテナ表で自動的に作成された索引は保存されますが、1つの例外があります。ROWIDマテリアライズド・ビューの作成時に作成された索引は削除されます。また、そのマテリアライズド・ビューにネストした表の列が含まれる場合、その列の記憶表がそのメタデータとともに保存されます。
PRESERVE TABLE句の制限事項: この句は、(マテリアライズド・ビューが「スナップショット」と呼ばれていた)Oracle9iより前のリリースからインポートしたマテリアライズド・ビューには無効です。