首頁 >資料庫 >mysql教程 >如何在PostgreSQL中正確建立和使用臨時表?

如何在PostgreSQL中正確建立和使用臨時表?

Barbara Streisand
Barbara Streisand原創
2025-01-01 11:42:10323瀏覽

How Do I Correctly Create and Use Temporary Tables in PostgreSQL?

在 SQL 中建立臨時表

您正在嘗試建立臨時表,但查詢不起作用。原因如下:

使用 PostgreSQL 建立臨時表的正確語法是:

CREATE TEMP TABLE table_name AS
SELECT columns FROM table WHERE conditions;

這將執行 SELECT 語句並使用所選資料建立臨時表。

在您的情況下,將查詢更改為:

CREATE TEMP TABLE temp1 AS
SELECT 
    dataid,
    register_type,
    timestamp_localtime,
    read_value_avg
FROM 
    rawdata.egauge
WHERE 
    register_type LIKE '%gen%'
ORDER BY 
    dataid, timestamp_localtime;

記住,臨時表僅在當前會話中可見,並且被丟棄在它的末尾。若要建立在交易結束時刪除的臨時表,請使用 ON COMMIT DROP 而不是 TEMP。

如果您需要資料的動態表示,請考慮使用 CREATE VIEW 取代。它提供資料的即時視圖,反映對基礎表所做的變更。

或者,您可以使用衍生表 (CTE) 或子查詢進行單一查詢。與建立臨時表相比,這些選項的開銷較低。

以上是如何在PostgreSQL中正確建立和使用臨時表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn