DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

/usr/man/cat.l/select_into.l.Z(/usr/man/cat.l/select_into.l.Z)





NAME

       SELECT INTO - create a new table from the results of a query


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  creates  a new table and fills it with data computed by a
       query. The data is not returned to the client, as it is with  a  normal
       SELECT.  The  new table's columns have the names and data types associ-
       ated with the output columns of the SELECT.


PARAMETERS

       TEMPORARY or TEMP
              If specified, the table is created as a temporary  table.  Refer
              to CREATE TABLE [create_table(l)] for details.

       new_table
              The  name  (optionally schema-qualified) of the table to be cre-
              ated.

       All other parameters are described in detail under SELECT  [select(l)].


NOTES

       CREATE  TABLE  AS  [create_table_as(l)]  is  functionally equivalent to
       SELECT INTO.  CREATE TABLE AS is the  recommended  syntax,  since  this
       form  of SELECT INTO is not available in ECPG or PL/pgSQL, because they
       interpret the INTO clause differently.


COMPATIBILITY

       The SQL standard uses SELECT ... INTO  to  represent  selecting  values
       into scalar variables of a host program, rather than creating a new ta-
       ble. This indeed is the usage found in ECPG and  PL/pgSQL.   The  Post-
       greSQL  usage of SELECT INTO to represent table creation is historical.
       It's best to use CREATE TABLE AS for this purpose in new code.  (CREATE
       TABLE  AS  isn't  standard either, but it's less likely to cause confu-
       sion.)

SQL - Language Statements         2003-11-02                    SELECT INTO(l)

Man(1) output converted with man2html