用途
ALTER
VIEW
を使用すると、無効なビューを明示的に再コンパイルしたり、ビューの制約を変更することができます。明示的に再コンパイルすると、実行前にコンパイル・エラーを検査できます。再コンパイルは、ビューの実表を変更した後で、その変更がビューまたはそのビューに依存するオブジェクトに影響していないかどうかを確認するときに便利です。
ALTER
VIEW
を使用して、制約のビューを定義、変更または削除することもできます。
この文を使用して既存のビュー定義を変更することはできません。また、ビューの実表に対するDDL変更によってビューが無効になる場合、この文を使用して無効なビューをコンパイルすることはできません。このような場合は、CREATE
VIEW
にOR
REPLACE
キーワードを指定して使用し、ビューを再定義する必要があります。
ALTER
VIEW
文を発行した場合、指定したビューは有効か無効かにかかわらず再コンパイルされます。また、そのビューに依存するすべてのローカル・オブジェクトが無効になります。
1つ以上のマテリアライズド・ビューが参照しているビューを変更した場合、これらのマテリアライズド・ビューは無効になります。無効なマテリアライズド・ビューは、クエリー・リライトには使用できず、リフレッシュもできません。
関連項目:
|
セマンティクス
schema
ビューが含まれているスキーマを指定します。schema
を指定しない場合、ビューは自分のスキーマ内にあるとみなされます。
view
再コンパイルするビューの名前を指定します。
ADD
句を使用すると、view
に制約を追加できます。ビュー制約および制限事項については、「constraint」を参照してください。
MODIFY
CONSTRAINT
句を使用すると、既存のビュー制約のRELY
またはNORELY
設定を変更できます。この設定の使用方法の詳細は「RELY句」を、ビュー制約の概要は「ビュー制約の注意事項」を参照してください。
制約の変更の制限事項: 一意制約または主キー制約が参照整合性制約の一部である場合、外部キーの削除またはview
の設定にあわせた変更をせずに、設定を変更することはできません。
DROP
を使用すると、既存のビューの制約を削除できます。
制約の削除の制限事項: 一意制約または主キー制約がビューの参照整合性制約の一部である場合は削除できません。
COMPILE
キーワードを指定すると、ビューを再コンパイルできます。
これらの句は、エディショニング・ビューに対してのみ有効です。
READ
ONLY
を指定すると、エディショニング・ビューを更新禁止にできます。
READ
WRITE
を指定すると、読取り専用エディショニング・ビューを読取り/書込みステータスに戻すことができます。
これらの句を指定すると、依存オブジェクトは無効になりませんが、カーソルが無効になることがあります。
例
ビューの変更例: 次の文は、ビューcustomer_ro
(「読取り専用ビューの作成例:」で作成)を再コンパイルします。
ALTER VIEW customer_ro COMPILE;
customer_ro
の再コンパイル時にエラーが発生しなければ、customer_ro
は有効になります。再コンパイル・エラーが発生した場合はエラーが戻り、customer_ro
は無効のままとなります。
依存するオブジェクトもすべて無効になります。依存オブジェクトとは、customer_ro
を参照する、プロシージャ、ファンクション、パッケージ本体、ビューなどです。その後、明示的に再コンパイルせずに、これらのオブジェクトを参照した場合、データベースは実行時にそれらを暗黙的に再コンパイルします。