CREATE LOCAL TEMPORARY VIEW

创建或替换本地临时视图。视图是只读内容,所以不支持插入、更新、删除或复制操作。本地临时视图是会话范围的视图,因此仅在当前视图中供其创建者可见。会话结束时,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)

另请参阅