ALTER VIEW ステートメント

ALTER VIEW ステートメントは、参照タイプ列を変更して有効範囲を追加することによって、既存のビューを変更します。 また ALTER VIEW ステートメントは、照会の最適化でのビューの使用を使用可能にしたり、使用不可にしたりします。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • ビューのスキーマに対する ALTERIN 特権
  • 変更するビューの所有者
  • 変更するビューに対する CONTROL 特権
  • ビューのスキーマに対する SCHEMAADM 権限
  • DBADM 権限
照会の最適化へのビューの使用を可能化または不能化するには、ステートメントの許可 ID の保持する特権に、各表、またはビュー全選択の FROM 節で参照されるビューの基礎表に対し、少なくとも以下のいずれか 1 つの権限が含まれている必要があります。
  • 表に対する ALTER 特権
  • 表のスキーマに対する ALTERIN 特権
  • 表のスキーマに対する SCHEMAADM 権限
  • DBADM 権限

構文

Read syntax diagramSkip visual syntax diagramALTER VIEWview-nameALTERCOLUMNcolumn-nameADD SCOPEtyped-table-nametyped-view-nameENABLEDISABLEQUERY OPTIMIZATION

説明

ビュー名
変更するビューを指定します。 ビューはカタログに記述されている必要があります。
ALTER COLUMN column-name
変更される列の名前を指定します。 column-name は、ビューの既存の列を指定するものでなければなりません (SQLSTATE 42703)。 名前は非修飾でなければなりません。
ADD SCOPE
有効範囲が未定義である既存の参照タイプ列に、有効範囲を追加します (SQLSTATE 428DK)。 列をスーパービューから継承することはできません (SQLSTATE 428DJ)。
型付き表名 (typed-table-name)
型付き表の名前を指定します。 column-name のデータ・タイプは REF(S) でなければなりません。 Styped-table-name のタイプを表します (SQLSTATE 428DM)。 値が typed-table-name の既存行を実際に参照していることを確認するための、 column-name の既存値の検査は行われません。
型付きビュー名
型付きビューの名前を指定します。 column-name のデータ・タイプは REF(S) でなければなりません。 Styped-view-name のタイプを表します (SQLSTATE 428DM)。 値が typed-view-name の既存行を実際に参照していることを確認するための、column-name の既存値の検査は行われません。
ENABLE QUERY OPTIMIZATION または DISABLE QUERY OPTIMIZATION
ビューおよびあらゆる関連の統計を照会の最適化の改善に使用するかどうかを指定します。 DISABLE QUERY OPTIMIZATION は、ビューの作成時のデフォルト値です。
ENABLE QUERY OPTIMIZATION
ビューに、そのビューに関わる照会、またはそのビューの全選択に似た副照会を含む照会の最適化の向上に使用できる統計が含まれることを指定します。
DISABLE QUERY OPTIMIZATION
ビューおよびあらゆる関連の統計を照会の最適化の改善に使用しないことを指定します。

ルール

  • 以下の場合には、照会の最適化へのビューの使用可能化はできなくなります。
    • ビューが直接または間接にマテリアライズ照会表 (MQT) を参照する。 MQT または統計ビューが統計ビューを参照する可能性があることに注意してください。
    • ビューが直接または間接にカタログ表を参照する。
    • 型付きビューになっている。

  • 照会の最適化への使用を考える場合、ビューに関しては以下の点に注意してください。
    • 集約操作や別個の操作を含むことはできない。
    • UNION、EXCEPT、INTERSECT といった操作を含むことはできない。
    • OLAP 仕様を含むことはできない。
  • 照会の最適化への使用が不可になるようビューが変更された場合は、そのビューを照会最適化に使用していたキャッシュ照会プランが無効になります。 照会の最適化への使用が可能になるようビューが変更された場合は、直接、あるいは他のビューを通じて間接的に、新たに使用可能にされたビュー参照と同じ表を参照しているキャッシュ照会プランが無効になります。 これらのキャッシュ照会プランの無効化により、ビューの変更された照会最適化プロパティーを考慮に入れた再有効化が暗黙的に行われます。

    ビューの照会最適化プロパティーは、組み込み静的 SQL ステートメントには影響しません。