Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » データベース・オブジェクトの使用 » 通常のビューの操作

 

通常のビューのステータス

通常のビューには、ステータスが関連付けられています。ステータスは、データベース・サーバが使用するビューの利用可能性を反映しています。すべてのビューのステータスを表示するには、Sybase Central の左ウィンドウ枠で [ビュー] を選択し、右ウィンドウ枠で [ステータス] カラムの値を検査します。また、単一のビューのステータスを表示するには、Sybase Central でビューを右クリックし、[プロパティ] を選択して [ステータス] の値を検査します。

通常のビューのステータスの種類について、次に説明します。

  • VALID   ビューは有効で、その定義と一貫性があることが保証されています。データベース・サーバは、追加の作業なくこのビューを利用できます。有効にされたビューのステータスは VALID です。

    SYSOBJECT システム・ビューで、値 1 はステータス VALID を表します。SYSOBJECT システム・ビューを参照してください。

  • INVALID   INVALID ステータスは、参照先オブジェクトのスキーマ変更後に発生し、変更したためにビューを有効にしようとして失敗したことを表します。たとえば、ビュー v1 がテーブル t 内のカラム c1 を参照するとします。t を変更して c1 を削除する場合、カラムを削除する ALTER 操作の一環としてデータベース・サーバがビューを再コンパイルすると、v1 のステータスは INVALID に設定されます。このとき、v1 は c1 が t に追加された場合だけ再コンパイルできます。再コンパイルしない場合、v1 は c1 を参照しないように変更されます。ビューが参照するテーブルやビューを削除した場合も、そのビューは INVALID になります。

    INVALID ビューは DISABLED ビューと異なり、クエリなどで INVALID ビューが参照されるたびに、データベース・サーバはそのビューを再コンパイルしようとします。コンパイルに成功すると、クエリが処理されます。ビューを明示的に有効にしないかぎり、ステータスは INVALID のままです。失敗した場合は、エラーが返されます。

    データベース・サーバは、INVALID ビューを内部的に有効にすると、パフォーマンス警告を発行します。

    SYSOBJECT システム・ビューで、値 2 はステータス INVALID を表します。SYSOBJECT システム・ビューを参照してください。

  • DISABLED   無効にされたビューは、データベース・サーバがクエリに応答するために使用できません。無効にされたビューを使用しようとするクエリは、エラーを返します。

    通常のビューは、次の場合にこのステータスになります。

    • ビューを明示的に無効にした場合。ALTER VIEW ... DISABLE 文を実行した場合など。

    • そのビューが依存するビュー (マテリアライズド・ビューまたは非マテリアライズド・ビュー) を無効にした場合。

    • テーブルのビューの依存性を無効にした場合。ALTER TABLE ... DISABLE VIEW DEPENDENCIES 文を実行した場合など。

    通常のビューの有効化と無効化については、通常のビューの有効化と無効化を参照してください。

    SYSOBJECT システム・ビューで、値 4 はステータス DISABLED を表します。SYSOBJECT システム・ビューを参照してください。