CREATE VIEW view
AS SELECT query
ビューが正常に作成された場合に戻るメッセージです。
指定したビューが既にデータベースに存在する場合に出力されるエラーです。
指定をしないと型の不明なカラムを持ったビューが作成 されます。例えば、下記のコマンドはエラーとなります。
CREATE VIEW vista AS SELECT 'Hello World'一方で、このコマンドはエラーになりません:
CREATE VIEW vista AS SELECT 'Hello World'::text
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
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 が想定されます。