输出 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.