在 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中文網其他相關文章!