プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
12cリリース1 (12.1)
B71278-13
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

DROP MATERIALIZED VIEW

用途

DROP MATERIALIZED VIEW文を使用すると、データベースから既存のマテリアライズド・ビューを削除できます。

削除したマテリアライズド・ビューは、ごみ箱内には移動しません。このため、削除したマテリアライズド・ビューを消去またはリカバリすることはできません。


注意:

下位互換性を保つために、MATERIALIZED VIEWのかわりにキーワードSNAPSHOTもサポートされています。


関連項目:

  • 様々なタイプのマテリアライズド・ビューの詳細は、「CREATE MATERIALIZED VIEW」を参照してください。

  • マテリアライズド・ビューの変更については、「ALTER MATERIALIZED VIEW」を参照してください。

  • レプリケーション環境でのマテリアライズド・ビューの詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。

  • データ・ウェアハウス環境でのマテリアライズド・ビューの詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。


前提条件

削除するマテリアライズド・ビューが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、DROP ANY MATERIALIZED VIEWシステム権限が必要です。また、データベースがマテリアライズド・ビューのデータを管理するために使用する内部表、ビュー、索引を削除する権限も必要です。


関連項目:

マテリアライズド・ビューを管理するために使用するオブジェクトの削除に必要な権限については、「DROP TABLE」「DROP VIEW」および「DROP INDEX」を参照してください。

構文

drop_materialized_view::=

drop_materialized_view.gifの説明が続きます。
「図drop_materialized_view.gif」の説明

セマンティクス

schema

マテリアライズド・ビューが含まれているスキーマを指定します。schemaを指定しない場合、このマテリアライズド・ビューは自分のスキーマ内にあるとみなされます。

materialized_view

削除する既存のマテリアライズド・ビューの名前を指定します。

  • マスター表から、最後にリフレッシュされた単純マテリアライズド・ビューを削除した場合、マスター表のマテリアライズド・ビュー・ログのうち、削除されたマテリアライズド・ビューのリフレッシュに必要な行のみが自動的に削除されます。

  • 事前作成表で作成されたマテリアライズド・ビューを削除した場合、そのマテリアライズド・ビューが削除され、事前作成表は1つの表としての元の形に戻ります。

  • マスター表を削除した場合、その表に基づくマテリアライズド・ビューは自動的には削除されません。ただし、削除したマスター表に基づくマテリアライズド・ビューをリフレッシュしようとした場合、エラー・メッセージが戻されます。

  • マテリアライズド・ビューを削除した場合、マテリアライズド・ビューを使用するためにリライトされたコンパイル済の要求が無効になり、自動的に再コンパイルされます。そのマテリアライズド・ビューが表に事前作成されていた場合、その表は削除されませんが、マテリアライズド・ビューのリフレッシュ・メカニズムで管理できなくなります。

PRESERVE TABLE句

この句を使用すると、マテリアライズド・ビュー・オブジェクトを削除した後も、そのマテリアライズド・ビューのコンテナ表およびその内容を保持できます。結果の表の名前は、削除したマテリアライズド・ビューと同じになります。

マテリアライズド・ビューに関連付けられているすべてのメタデータは削除されます。ただし、そのマテリアライズド・ビューの作成時にコンテナ表で自動的に作成された索引は保存されますが、1つの例外があります。ROWIDマテリアライズド・ビューの作成時に作成された索引は削除されます。また、そのマテリアライズド・ビューにネストした表の列が含まれる場合、その列の記憶表がそのメタデータとともに保存されます。

PRESERVE TABLE句の制限事項: この句は、(マテリアライズド・ビューが「スナップショット」と呼ばれていた)Oracle9iより前のリリースからインポートしたマテリアライズド・ビューには無効です。

マテリアライズド・ビューの削除例: 次の文は、サンプル・スキーマhrのマテリアライズド・ビューemp_dataを削除します。

DROP MATERIALIZED VIEW emp_data; 

次の文は、sales_by_month_by_stateマテリアライズド・ビューおよびそのマテリアライズド・ビューの基礎となる表を削除します(基礎となる表がON PREBUILT TABLE句が指定されたCREATE MATERIALIZED VIEW文に登録されていない場合)。

DROP MATERIALIZED VIEW sales_by_month_by_state;