SELECT INTO(7) | SQL Commands | SELECT INTO(7) |
SELECT INTO - 從一個查詢的結果中創建一個新表
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 [, ...] ] ]
SELECT INTO 從一個查詢的計算結果中創建一個新表。 數據並不返回給客戶端,這一點和普通的 SELECT 不同。 新表的字段具有和 SELECT 的輸出字段相關聯(相同)的名字和數據類型。
所有其它輸入的域都在
SELECT [select(7)]
中有詳細描述。
CREATE TABLE AS [create_table_as(7)] 的作用和 SELECT INTO 相同。 我們建議使用 CREATE TABLE AS 語法, 因爲 SELECT INTO 不是標準語法。 實際上,這種類型的 SELECT INTO 是不能在 ECPG 或者 PL/pgSQL 中使用的, 因爲它們對 INTO 子句的解釋是不同的。
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
2003-11-02 | SQL - Language Statements |