SQL Server のビュー

ビューを作成すると、データを要求したときに検索される行および列の数が制限されるのでクエリの応答時間が改善されます。クライアント アプリケーションでフィーチャクラスまたは非空間テーブルとして認識されるビューを作成できます。ビューは単一のテーブルまたはフィーチャクラスを参照でき、複数のテーブルからデータを結合するビューも作成できます。

必要な権限を持つすべてのユーザが、SQL を使用してビューを作成することができます。ビューを作成するために必要な権限については、使用しているリリースの SQL Server のマニュアルをご参照ください。少なくとも、データベースに対する CONNECT および CREATE VIEW 権限が必要で、ビューを作成するユーザはメンバー テーブルに対して SELECT 権限を持つ必要があります。

ビューの定義には、Microsoft SQL Server データベース内の INFORMATION_SCHEMA.VIEWS システム ビューを使用してアクセスできます。

INFORMATION_SCHEMA.VIEWS システム ビュー

INFORMATION_SCHEMA.VIEWS システム ビューで特定のビューを検索することにより、そのビューのメタデータを取得できます。

Field name

データ タイプ

説明*

TABLE_CATALOG

nvarchar(128)

ビューの修飾子

TABLE_SCHEMA

nvarchar(128)

ビューを含むスキーマ

TABLE_NAME

nvarchar(128)

ビューの名前

VIEW_DEFINITION

nvarchar(4000)

ビュー定義テキスト

CHECK_OPTION

varchar(7)

ビューの作成時に使用された WITH CHECK OPTION のタイプ(ある場合)

IS_UPDATABLE

varchar(2)

ビューが更新可能かどうかを示す

*フィールドの詳細な説明と注意事項については、使用しているリリースの SQL Server のマニュアルをご参照ください。

複数のデータベースにまたがるビュー

マルチ空間データベース モデルでは、同じデータベースに属さないテーブルとフィーチャクラスの間でビューを作成することが可能です。そのためには、- D(データベース)スイッチを使用してビューを作成するデータベースを指定し、-t オプションを使用してビューに属しているすべてのテーブルを表示します。テーブル名には、データベースと所有者の名前を含む完全修飾名を使用しなければなりません。

注意注意:

シングル空間データベース モデルへ移行するには、これらのビューを削除する必要があります。データを移行した後で、ビューを作成し直すことができます。

シングル空間データベース モデルでは、sdetable コマンドの create_view 操作を使用し、データベースが異なる 2 つのフィーチャクラス間で、データベースにまたがるビューを作成することはできません。このようなビューを作成するには、SQL を使用する必要があります。

5/10/2014