CREATE VIEW

Name

CREATE VIEW  --  仮想テーブルの作成

Synopsis

CREATE VIEW view AS SELECT query
  

入力

view

作成されるビューの名前です。

query

ビューのカラムと行を提供する SQL 問合せです。

有効な引数に関する情報は SELECT 文を参照して下さい。

出力

CREATE

ビューが正常に作成された場合に返されるメッセージです。

ERROR: Relation 'view' already exists

指定したビューが既にデータベースに存在する場合に出力されるエラーです。

NOTICE create: attribute named "column" has an unknown type

指定をしないと型の不明なカラムを持ったビューが作成されます。 例えば下記のコマンドには警告が出されます。

CREATE VIEW vista AS SELECT 'Hello World'
	
一方、このコマンドには警告が出ません。
CREATE VIEW vista AS SELECT text 'Hello World'
	

説明

CREATE VIEW はテーブルのビューを定義します。 このビューは実態として存在するものではありません。特に、 抽出ルールを書き換える問合せはビュー上の抽出操作をサポートするため 自動的に生成されます。

注釈

現在のところビューは読み取りのみです。

ビューを削除するためには DROP VIEW 文 を使います。

使用方法

下記は全ての Comedy films を含むビューを作成します。

CREATE VIEW kinds AS
    SELECT *
    FROM films
    WHERE kind = 'Comedy';

SELECT * FROM kinds;

 code  |           title           | did | date_prod  |  kind  | len
-------+---------------------------+-----+------------+--------+-------
 UA502 | Bananas                   | 105 | 1971-07-13 | Comedy | 01:22
 C_701 | There's a Girl in my Soup | 107 | 1970-06-11 | Comedy | 01:36
(2 rows)
   

互換性

SQL92

SQL92 は CREATE VIEW 文に対しいくつかの 追加機能を規定しています。

CREATE VIEW view [ column [, ...] ]
    AS SELECT expression [ AS colname ] [, ...]
    FROM table [ WHERE condition ]
    [ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
   

全ての SQL92 コマンドのオプション句は以下の通りです。

CHECK OPTION

このオプションは更新可能なビューに関係します。 ビューに対する 全ての INSERT と UPDATE は、ビュー定義の条件を満足しているか どうかチェックされます。 条件を満足していない場合は 更新が拒否されます。

LOCAL

このビューの完全性保証条件をチェックします。

CASCADE

このビューと依存している全てのビューの完全性保証条件を チェックします。 CASCADE または LOCAL のいずれも指定されて いない場合は CASCADE が想定されます。