CREATE VIEW
Name
CREATE VIEW — 構造一個虛擬表(視圖)
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 (喜劇)電影組成的視圖:
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.
|----------------------------------------------------------------------------------------|
版權聲明 版權所有 @zhyiwww
引用請注明來源 http://www.tkk7.com/zhyiwww
|----------------------------------------------------------------------------------------|
posted on 2006-06-02 18:37
zhyiwww 閱讀(492)
評論(0) 編輯 收藏 所屬分類:
database