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 はテーブルもしくはクラス のビューを定義します。 このビューは物理的な実体として存在するものではありません。 ビューに対する抽出操作をサポートするような、問い合わせを 書き換える特殊な抽出ルールが自動的に生成されます。

注意

現時点で、ビューは読み取り専用です。

使用法

全ての娯楽映画 (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 が指定さ れたものと仮定されます。