select_into

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
SELECT INTO()			 SQL Commands			SELECT INTO()



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(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 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
       table. This indeed is the usage found in ECPG (see [XRef to ECPG]) and
       PL/pgSQL (see [XRef to PLPGSQL]).  The PostgreSQL usage of SELECT INTO
       to represent table creation is historical. It’s best to use CREATE TA-
       BLE  AS	for this purpose in new code. (CREATE TABLE AS isn’t standard
       either, but it’s less likely to cause confusion.)



SQL - Language Statements	  2008-01-03			SELECT INTO()