SELECT INTO(7)

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>

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh