PostgreSQL支持CREATE TABLE AS
,SELECT INTO
何时同时使用两者?
CREATE TABLE AS
-根据查询结果定义新表
CREATE TABLE AS
创建一个表,并用SELECT
命令计算的数据填充该表。表列具有与的输出列关联的名称和数据类型SELECT
(除非您可以通过提供新列名称的显式列表来覆盖列名称)。
CREATE TABLE AS
与创建视图有些相似,但实际上是完全不同的:它创建一个新表并仅对查询进行一次评估以最初填充新表。新表将不会跟踪对查询源表的后续更改。相反,SELECT
无论何时查询,视图都会重新评估其定义语句。
接着。
SELECT INTO
-根据查询结果定义新表
SELECT INTO
创建一个新表并将其填充查询所计算的数据。数据不会像常规一样返回给客户端SELECT
。新表的列具有与的输出列关联的名称和数据类型SELECT
。