添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

CREATE TABLE AS

参数

TEMPORARY 或者 TEMP

如果被指定,该表会被创建为一个临时表。详见 CREATE TABLE

UNLOGGED

如果被指定,该表会被创建为一个不做日志的表。详见 CREATE TABLE

IF NOT EXISTS

如果已经存在一个同名的关系时不要抛出错误。这种情况下会发出一个提示。 详见 CREATE TABLE

table_name

要创建的表的名称(可以被模式限定)。

column_name

新表中一列的名称。如果没有提供列名,会从查询的输出列名中得到。

WITH ( storage_parameter [= value ] [, ... ] )

这个子句为新表指定可选的存储参数,详见 存储参数 WITH 子句也能包括 OIDS=TRUE (或者只是 OIDS )来指定新表的行应该被分配 OID (对象标识符), 或者包括 OIDS=FALSE 来指定行没有 OID。详见 CREATE TABLE

WITH OIDS
WITHOUT OIDS

这些是分别等效于 WITH (OIDS) WITH (OIDS=FALSE) 的即将过时的语法。如果你希望同时 给出 OIDS 设置和存储参数,你必须使用 WITH ( ... ) 语法,见上文。

ON COMMIT

临时表在事务块结束时的行为可以用 ON COMMIT 控制。三个选项是:

PRESERVE ROWS

在事务结束时不采取特殊的动作。这是默认行为。

DELETE ROWS

在每一个事务块结束时临时表中的所有行都将被删除。本质上, 在每次提交时会完成一次自动的 TRUNCATE

DROP

在当前事务块结束时将删掉临时表。

TABLESPACE tablespace_name

tablespace_name 是要在其中创建新表的表空间名称。如果没有指定,将会查询 default_tablespace ,临时表会查询 temp_tablespaces

query

一个 SELECT TABLE 或者 VALUES 命令,或者是一个运行准备好的 SELECT TABLE 或者 VALUES 查询的 EXECUTE 命令。

WITH [ NO ] DATA

这个子句指定查询产生的数据是否应该被复制到新表中。如果不是,只有 表结构会被复制。默认是复制数据。

注解

这个命令在功能上类似于 SELECT INTO ,但是它更好, 因为不太可能被 SELECT INTO 语法的其他使用混淆。更 进一步, CREATE TABLE AS 提供了 SELECT INTO 的功能的一个超集。

CREATE TABLE AS 命令允许用户显式地指定 是否应该包括 OID。如果没有显式地指定 OID 的存在,将使用 default_with_oids 配置变量来判断。