CREATE VIEW(7) | SQL Commands | CREATE VIEW(7) |
CREATE VIEW - 定義一個檢視
CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query
CREATE VIEW 定義一個查詢的檢視。 這個檢視不是物理上實際存在(於磁碟)的。具體的說,自動生成一個改寫索引規則(一個 ON SELECT 規則)的查詢用以支援在檢視上的檢索。
CREATE OR REPLACE VIEW 類似,不過是如果一個同名的檢視已經存在,那麼就替換它。 你只能用一個生成相同欄位的新查詢替換一個檢視(也就是說,同樣欄位名和資料型別)。
如果給出了一個模式名(比如,CREATE
VIEW myschema.myview
...),那麼該檢視是在指定的模式中建立的。
否則它是在當前模式中建立的。
該檢視名字必需和同一模式中任何其它檢視,表,序列或者索引的名字不同。
請參閱 SELECT [select(7)]
獲取有效查詢的更多資訊。
目前,檢視是隻讀的:系統將不允許在檢視上插入,更新,或者刪除資料。 你可以透過在檢視上建立把插入等動作重寫為向其它表做合適操作的規則來實現可更新檢視的效果。 更多資訊詳見 CREATE RULE [create_rule(7)].
使用 DROP VIEW
語句刪除檢視
請注意檢視欄位的名字和型別不一定是你們期望的那樣。比如,
CREATE VIEW vista AS SELECT 'Hello World';
CREATE VIEW vista AS SELECT text 'Hello World' AS hello;
對檢視引用的表的訪問的許可權由檢視的所有者決定。
不過,在視圖裡呼叫的函式當作他們直接從使用檢視的查詢裡呼叫看待。
因此,檢視的使用者必須有使用檢視呼叫的所有函式的許可權。
建立一個由所有喜劇電影組成的檢視:
CREATE VIEW comedies AS
SELECT *
FROM films
WHERE kind = 'Comedy';
SQL 標準為 CREATE VIEW 聲明瞭一些附加的功能:
CREATE VIEW name [ ( column [, ...] ) ]
AS query
[ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
完整的SQL命令可選的子句是:
CREATE OR REPLACE VIEW 是 PostgreSQL 的擴充套件。
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 | SQL - Language Statements |