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

NAME

       SELECT INTO - 从一个查询的结果中创建一个新表

SYNOPSIS

       SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
           * | expression [ AS output_name ] [, ...]
           INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
           [ FROM from_item [, ...] ]
           [ WHERE condition ]
           [ GROUP BY expression [, ...] ]
           [ HAVING condition [, ...] ]
           [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
           [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
           [ LIMIT { count | ALL } ]
           [ OFFSET start ]
           [ FOR UPDATE [ OF tablename [, ...] ] ]

DESCRIPTION述
       SELECT             INTO            从一个查询的计算结果中创建一个新表。
       数据并不返回给客户端,这一点和普通的  SELECT  不同。   新表的字段具有和
       SELECT 的输出字段相关联(相同)的名字和数据类型。

PARAMETERS数
       TEMPORARY TEMP
               如果声明了这个关键字,那么该表是作为一个临时表创建的。   请参考
              CREATE TABLE [create_table(7)] 获取细节。

       new_table
               要创建的表的表名(可以有模式修饰)。

        所有其它输入的域都在 SELECT [select(7)] 中有详细描述。

NOTES意
       CREATE  TABLE  AS  [create_table_as(7)]  的作用和  SELECT  INTO  相同。
       我们建议使用  CREATE  TABLE  AS  语法, 因为 SELECT INTO 不是标准语法。
       实际上,这种类型的 SELECT INTO 是不能在 ECPG 或者  PL/pgSQL  中使用的,
       因为它们对 INTO 子句的解释是不同的。

COMPATIBILITY性
        SQL  标准用  SELECT  ... INTO 表示选取数值到一个宿主程序的标量变量中,
       而不是创建一个新表。这种用法实际上就是在    ECPG     (参阅     Chapter
       29)和PL/pgSQL   (Chapter  35)里的用途。  PostgreSQL  用  SELECT INTO
       代表创建表的意思是历史砸颉  在新代码里我们最好使用  CREATE  TABLE   AS
       实现这个目地。               (CREATE              TABLE              AS
       也不是标准,但至少它出现混淆的机会少一些。)

者
       Postgresql  <laser@pgsqldb.org>