CREATE LOCAL TEMPORARY VIEW
创建或替换本地临时视图。视图是只读内容,所以不支持插入、更新、删除或复制操作。本地临时视图是会话范围的视图,因此仅在当前视图中供其创建者可见。会话结束时,Vertica 会删除视图。
注意
Vertica 不支持全局临时视图。语法
CREATE [OR REPLACE] LOCAL TEMP[ORARY] VIEW view [ (column[,...] ) ] AS query
参数
OR REPLACE
- 指定覆盖现有视图 view-name。如果您省略此选项并且 view-name 已经存在,则
CREATE VIEW
返回错误。 - 视图
- 标识要创建的视图,其中 view 符合标识符中描述的约定。 同一架构中的序列、表、投影、视图和模型中也必须是唯一的。
- 列
[,...]
- 由最多 9800 个用作视图列名称的名称组成的列表。Vertica 按照各自列表的顺序将视图列名称映射到查询列。默认情况下,视图使用在查询中指定的列名称。
-
AS query
- 临时视图执行的
SELECT
语句。SELECT
语句可以引用表、临时表以及其他视图。
特权
请参阅创建视图。
示例
以下 CREATE LOCAL TEMPORARY VIEW
语句将会创建临时视图 myview
。此视图会将 store.store_sales_fact
表中所列的各个客户的所有收入相加,并按州对结果进行分组:
=> CREATE LOCAL TEMP VIEW myview AS
SELECT SUM(annual_income), customer_state FROM public.customer_dimension
WHERE customer_key IN (SELECT customer_key FROM store.store_sales_fact)
GROUP BY customer_state
ORDER BY customer_state ASC;
以下示例使用临时视图 myview
,该视图具有 WHERE
子句,以将结果限制为大于 20 亿美元的合并收入:
=> SELECT * FROM myview WHERE SUM > 2000000000;
SUM | customer_state
-------------+----------------
2723441590 | AZ
29253817091 | CA
4907216137 | CO
3769455689 | CT
3330524215 | FL
4581840709 | IL
3310667307 | IN
2793284639 | MA
5225333668 | MI
2128169759 | NV
2806150503 | PA
2832710696 | TN
14215397659 | TX
2642551509 | UT
(14 rows)