根据查询结果定义新表。

语法

CREATE [ GLOBAL TEMPORARY ] TABLE table_name
  [ (column_name [, ...] ) ]
  [ ON COMMIT { PRESERVE ROWS | DELETE ROWS } ]
  [ TABLESPACE tablespace ]
  AS query

说明

CREATE TABLE AS 创建一个表,并使用 SELECT 命令计算的数据填充该表。表列具有与 SELECT 的输出列相关联的名称和数据类型(除非您可以通过给定新列名称的显式列表来覆盖列名称)。

CREATE TABLE AS 与创建视图有一些相似之处,但确实很不一样:前者是创建一个新表,并仅对查询进行一次计算以最初填充新表。新表不会跟踪对查询的源表的后续更改。相反,在每次查询视图时,视图会重新计算其定义的 SELECT 语句。

参数

参数 说明
GLOBAL TEMPORARY 如果指定,则表创建为临时表。有关详细信息,请参阅 CREATE TABLE。
table_name 要创建的表的名称(可能是 schema 限定的)。
column_name 新表中列的名称。如果未提供列名称,则提取查询的输出列名称。
query 查询语句(SELECT 命令)。有关所允许语法的说明,请参阅 SELECT。