Heim >Datenbank >MySQL-Tutorial >Wie erstelle und verwende ich temporäre Tabellen in PostgreSQL richtig?

Wie erstelle und verwende ich temporäre Tabellen in PostgreSQL richtig?

Barbara Streisand
Barbara StreisandOriginal
2025-01-01 11:42:10303Durchsuche

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

Temporäre Tabellen in SQL erstellen

Sie versuchen, eine temporäre Tabelle zu erstellen, aber Ihre Abfrage funktioniert nicht. Hier ist der Grund:

Die korrekte Syntax zum Erstellen einer temporären Tabelle mit PostgreSQL lautet:

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

Dadurch wird die SELECT-Anweisung ausgeführt und eine temporäre Tabelle mit den ausgewählten Daten erstellt.

Ändern Sie in Ihrem Fall Ihre Abfrage wie folgt:

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;

Denken Sie daran, dass temporäre Tabellen nur innerhalb der aktuellen Sitzung sichtbar sind und bei abgelegt werden das Ende davon. Um eine temporäre Tabelle zu erstellen, die am Ende einer Transaktion gelöscht wird, verwenden Sie ON COMMIT DROP anstelle von TEMP.

Wenn Sie eine dynamische Darstellung von Daten benötigen, sollten Sie stattdessen CREATE VIEW verwenden. Es bietet eine Live-Ansicht der Daten und spiegelt Änderungen wider, die an zugrunde liegenden Tabellen vorgenommen wurden.

Alternativ können Sie eine abgeleitete Tabelle (CTE) oder eine Unterabfrage für Einzelabfragezwecke verwenden. Diese Optionen sind mit einem geringeren Aufwand verbunden als das Erstellen einer temporären Tabelle.

Das obige ist der detaillierte Inhalt vonWie erstelle und verwende ich temporäre Tabellen in PostgreSQL richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn