Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Databases - Practical PostgreSQL
Previous Page Home Next Page

CREATE TABLE AS

Name

CREATE TABLE AS -- Creates a new table built from data retrieved by a SELECT.

Synopsis

CREATE TABLE 
table
 [ ( 
column
 [, ...] ) ]
             AS 
select

Parameters

table

The name of the new table to be created.

column

The name of a column to create; you can specify multiple columns by including their names in a comma-delimited list. There should be the same number of columns specified as are returned by select .

select

A valid SELECT statement. The number of targets selected must match the number of columns in the optional column list preceding the AS clause.

Results

SELECT

The message returned on successful creation of, and insertion of row data into, table .

ERROR: CREATE TABLE/AS SELECT has mismatched column count

The error returned if the optional list of columns in parentheses contains a different number of rows than the select statement returns.

Description

Use the CREATE TABLE AS command to create a table from the contents of result set, such as a query on a table that already exists within the database. Both the column types, and row data for the new table, come from the SELECT command specified by select .

Note that, as of PostgreSQL 7.1.x, if you specify the optional column list within parentheses, you cannot use the asterisk (*) in the select statement.

Example

The following example creates a backup table (aptly named book_backup) from all of the columns taken from the books table:

booktown=# 
CREATE TABLE book_backup

booktown-# 
             AS SELECT * FROM books;

SELECT
Databases - Practical PostgreSQL
Previous Page Home Next Page

 
 
  Published under the terms of the Open Publication License Design by Interspire