輸出
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 (喜劇)電影組成的視圖:
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.
(http://www.fanqiang.com)
進入【UNIX論壇】