CREATE VIEW view [ ( column name list ) ] AS SELECT query
作成されるビューの名前です。
省略可能な、ビューの列として使用される名前のリストです。与えられた場合、この名前は SQL 問い合わせから生成される列名を上書きします。
ビューの列と行を提供する SQL 問合せです。
有効な引数に関する情報は SELECT 文を参照して下さい。
ビューが正常に作成された場合に返されるメッセージです。
指定したビューが既にデータベースに存在する場合に出力されるエラーです。
型を指定をしないと、型の不明な列を持ったビューが作成されます。例えば下記のコマンドには警告が出されます。
CREATE VIEW vista AS SELECT 'Hello World'
一方、このコマンドには警告が出ません。
CREATE VIEW vista AS SELECT text 'Hello World'
CREATE VIEW はテーブルのビューを定義します。ビューは物理的な実態として存在するものではありません。ビューに対する抽出操作をサポートするような、問い合わせを書き換え、抽出するルールが自動的に生成されます。
現在のところビューは読み取り専用です。システムは、ビューに対する挿入、更新、削除を許可しません。ビューに対する挿入などを他のテーブルに対する適切な処理に書き換えるルールを作成することで、更新可能なビューと同じ効果を得ることができます。より詳細な情報については CREATE RULE を参照して下さい。
ビューを削除するには 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 は CREATE VIEW 文に対しいくつかの追加機能を規定しています。
CREATE VIEW view [ column [, ...] ] AS SELECT expression [ AS colname ] [, ...] FROM table [ WHERE condition ] [ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
全ての SQL92 コマンドのオプション句は以下の通りです。
このオプションは更新可能なビューに関係します。 ビューに対する全ての INSERT と UPDATE は、ビュー定義の条件を満足しているかどうかチェックされます。 条件を満たしていない場合、その更新は拒否されます。
このビューの整合性をチェックします。
このビューと依存している全てのビューの整合性をチェックします。CASCADE または LOCAL のいずれも指定されていない場合は CASCADE が指定されたものと仮定されます。