首页 >数据库 >mysql教程 >如何在PostgreSQL中正确创建和使用临时表?

如何在PostgreSQL中正确创建和使用临时表?

Barbara Streisand
Barbara Streisand原创
2025-01-01 11:42:10303浏览

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