CREATE VIEW
定义 视图。视图是只读内容,所以不支持插入、更新、删除或复制操作。
语法
CREATE [ OR REPLACE ] VIEW [[database.]schema.]view [ (column[,...]) ]
[ {INCLUDE|EXCLUDE} [SCHEMA] PRIVILEGES ] AS query
参数
OR REPLACE
- 指定覆盖现有视图 view-name。如果您省略此选项并且 view-name 已经存在,则
CREATE VIEW
返回错误。在执行 CREATE OR REPLACE 之前分配给视图的任何权限都保留在更新后的视图上。请参阅GRANT(视图)。
-
[database]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。- 视图
- 标识要创建的视图,其中 view 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
- 列
[,...]
- 由最多 9800 个用作视图列名称的名称组成的列表。Vertica 按照各自列表的顺序将视图列名称映射到查询列。默认情况下,视图使用在查询中指定的列名称。
- query
- 临时视图执行的
SELECT
语句。SELECT
语句可以引用表、临时表以及其他视图。 {INCLUDE|EXCLUDE}[SCHEMA] PRIVILEGES
- 指定此视图是否继承架构权限:
-
INCLUDE PRIVILEGES
指定视图继承在其架构上设置的权限。如果启用了架构权限继承,则这是默认行为。 -
EXCLUDE PRIVILEGES
禁用从架构继承权限。
有关详细信息,请参阅继承的权限。
-
特权
请参阅创建视图。
示例
以下示例显示了如何创建包含来自多个表的数据的视图。
=> CREATE VIEW temp_t0 AS SELECT * from t0_p1 UNION ALL
SELECT * from t0_p2 UNION ALL
SELECT * from t0_p3 UNION ALL
SELECT * from t0_p4 UNION ALL
SELECT * from t0_p5;