Yolinux.com

select_into manpage

Search topic Section


SELECT INTO()			 SQL Commands			 SELECT INTO()



NAME
       SELECT INTO - define 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 | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] ]


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(7)] 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(7)].

NOTES
       CREATE TABLE AS [create_table_as(7)] is functionally similar 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	inter-
       pret the INTO clause differently. Furthermore, CREATE TABLE AS offers a
       superset of the functionality provided by SELECT INTO.

       Prior to PostgreSQL 8.1, the table created by SELECT INTO included OIDs
       by  default. In PostgreSQL 8.1, this is not the case -- to include OIDs
       in the new table, the default_with_oids configuration variable must  be
       enabled.	 Alternatively, CREATE TABLE AS can be used with the WITH OIDS
       clause.

EXAMPLES
       Create a new table films_recent consisting of only recent entries  from
       the table films:

       SELECT * INTO films_recent FROM films WHERE date_prod >= '2002-01-01';


COMPATIBILITY
       The  SQL	 standard  uses SELECT INTO to represent selecting values into
       scalar variables of a host program, rather than creating a  new	table.
       This  indeed  is	 the  usage  found in ECPG (see the documentation) and
       PL/pgSQL (see the documentation).  The PostgreSQL usage of SELECT  INTO
       to represent table creation is historical. It is best to use CREATE TA-
       BLE AS for this purpose in new code.

SEE ALSO
       CREATE TABLE AS [create_table_as(7)]



SQL - Language Statements	  2010-12-14			 SELECT INTO()