SELECT INTO
SELECT INTO — 以查詢結果建立一個新資料表
語法
說明
SELECT INTO 會建立一個新的資料表並使用查詢産生的資料填入。資料不會回傳到用戶端,即使它具有普通的 SELECT。新資料表的欄位具有與 SELECT 的輸出欄位相關聯的名稱和資料型別。
參數
TEMPORARY
或 TEMP
如果指定的話,則資料表被建立為臨時資料表。有關詳細訊息,請參閱 CREATE TABLE。
UNLOGGED
如果指定的話,則將此表建立為無日誌記錄的資料表。有關詳細訊息,請參閱 CREATE TABLE。
new_table
要建立的資料表名稱(可加上綱要名稱)。
所有其他參數在 SELECT 下詳細描述。
注意
CREATE TABLE AS 在功能上類似於 SELECT INTO。CREATE TABLE AS 是推薦的語法,因為這種 SELECT INTO 形式在 ECPG 或 PL/pgSQL 中不可用,它們會以不同的方式解釋 INTO 子句。此外,CREATE TABLE AS 提供了 SELECT INTO 提供的功能的更多功能。
要將 OID 加到 SELECT INTO 所建立的資料表中,請啟用 default_with_oids 組態變數。或者,以 CREATE TABLE AS 與 WITH OIDS 子句一起使用。
範例
建立一個新的資料表 films_recent,其中只包含來自資料表 film 的最新項目:
相容性
SQL 標準使用 SELECT INTO 將查詢結果表示為主機程序的 scalar 變量,而不是建立新資料表。這確實是 ECPG(參閱第 35 章)和 PL/pgSQL(參見第 42 章)中的用法。SELECT INTO 用於結果資料表建立的 PostgreSQL 用法是歷史性的。在新的程式中最好使用 CREATE TABLE AS 來達到此目的。