Provided by: manpages-zh_1.5-1_all bug

NAME

       CREATE TABLE AS - 从一条查询的结果中创建一个新表

SYNOPSIS

       CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ]
           AS query

DESCRIPTION述
       CREATE        TABLE        AS        创建一个表并且用来自        SELECT
       命令计算出来的数据填充该表。            该表的字段和             SELECT
       输出字段的名字及类型相关。
       (只不过你可以通过明确地给出一个字段名字列表来覆盖 SELECT 的字段名)。

       CREATE             TABLE             AS              和创建视图有点象,
       不过两者之间实在是有比较大差异:它创建一个新表并且只对           SELECT
       计算一次来填充这个新表。   新表不能跟踪   SELECT   的源表随后做的变化。
       相比之下,每次做查询的时候,视图都重新计算定义它的 SELECT 语句。

PARAMETERS数
       TEMPORARY or TEMP
               如果声明了这个选项,则该表作为临时表创建。  参阅  CREATE  TABLE
              [create_table(7)] 获取细节。

       table_name
               要创建的表名(可以是用模式修饰的)。

       column_name
               字段的名称。如果没有提供字段名字,那么就从查询的输出字段名中获取。
              如果表是一个 EXECUTE 命令创建的, 那么当前就不能声明字段名列表。

       query   一个查询语句(也就是一条 SELECT 命令或者一条运行准备好的 SELECT
              命令的   EXECUTE   命令),请分别参考  SELECT  [select(7)]  或者
              EXECUTE [execute(l)] 获取可以使用的语法的描述。

NOTES意
        这条命令从功能上等效于      SELECT       INTO       [select_into(7)],
       但是我们更建议你用这个命令,因为它不太可能和     SELECT     ...    INTO
       语法的其它方面的使用混淆。

COMPATIBILITY性
        这条命令是根据      Oracle       的一个特性制作的。       在       SQL
       标准中没有功能相等的命令。不过,  把  CREATE TABLE 和 INSERT ... SELECT
       组合起来可以通过略微多一些的工作完成同样的事情。

SEE ALSO见
       CREATE TABLE [create_table(7)], CREATE VIEW  [create_view(l)],  EXECUTE
       [execute(l)], SELECT [select(l)], SELECT INTO [select_into(l)]

者
       Postgresql  <laser@pgsqldb.org>