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