Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

CREATE VIEW

在数据库中创建一个视图。视图实际上不是具体化的;当查询中引用视图时,定义视图的查询将运行。您无法使用外部表创建视图。

语法

Copy
CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query

参数

OR REPLACE

如果存在同名视图,则将替换视图。您只能将视图替换为生成相同的列集的新查询(使用相同的列名和数据类型)。CREATE OR REPLACE VIEW 将锁定视图以阻止读取和写入,直至操作完成。

name

视图的名称。如果提供 schema 名称(例如,myschema.myview),则使用指定 schema 创建视图。否则,将在当前 schema 中创建视图。视图名称必须与同一 schema 中任何其他视图或表的名称不同。

如果指定以“#”开头的视图名称,则视图将创建为仅在当前会话中可见的临时视图。

有关有效名称的更多信息,请参阅名称和标识符。无法在系统数据库 template0、template1 和 padb_harvest 中创建表或视图。

column_name

要用于视图中的列的名称的可选列表。如果未提供列名,则从查询派生列名。可在单个视图中定义的列的最大数目为 1,600。

query

计算结果为表的查询(采用 SELECT 语句的形式)。此表定义视图中的列和行。

注意

无法从视图进行更新、插入或删除操作。

使用说明

拥有视图的所有权或获得视图的权限并不意味着可访问基础表。您需要显式授予对基础表的访问权限。

示例

以下命令从名为 EVENT 的表创建一个名为 myevent 的视图:

Copy
create view myevent as select eventname from event where eventname = 'LeAnn Rimes';

以下命令从名为 USERS 的表创建一个名为 myuser 的视图:

Copy
create view myuser as select lastname from users;

本页内容: