PostgreSQL
上一頁   下一頁

CREATE VIEW

名稱

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 'Hello World'::text
	

描述

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
   

兼容性

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。

上一頁 首頁 下一頁
CREATE USER 開頭 DECLARE