Temporäre Tabellen in SQL erstellen: Ein kurzer Überblick
Ihre Abfrage zielt darauf ab, eine temporäre Tabelle mit dem Namen „temp1“ zu erstellen und diese mit Daten zu füllen das einen bestimmten 'register_type' ('%gen%') hat. Das Problem entsteht jedoch durch die Verwendung von „CREATE TABLE“ anstelle von „CREATE TABLE AS“.
Der richtige Ansatz
Um eine temporäre Tabelle zu erstellen und diese zu füllen Bei Daten aus einer Abfrage sollten Sie „CREATE TABLE AS“ verwenden:
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;
Dieser Befehl erstellt eine temporäre Tabelle im Speicher und füllt es mit den resultierenden Zeilen aus der Abfrage. Sie ähnelt einer regulären Tabelle, befindet sich jedoch im RAM.
Temporäre Tabellen in PostgreSQL verstehen
Temporäre Tabellen sind innerhalb der aktuellen Sitzung sichtbar und verschwinden nach Beendigung der Sitzung. Alternativ können Sie „ON COMMIT DROP“ angeben, damit sie am Ende der Transaktion verschwinden.
Alternativen zu temporären Tabellen
Für dynamische temporäre Tabellen sollten Sie die Verwendung in Betracht ziehen „ANSICHT ERSTELLEN“, das eine stets aktuelle Momentaufnahme der Daten liefert. Für statische Snapshots wird jedoch „CREATE TABLE AS“ bevorzugt.
Obwohl mit „SELECT INTO“ auch temporäre Tabellen erstellt werden können, wird davon abgeraten. Verwenden Sie stattdessen „CREATE TABLE AS“. „CREATE TABLE LIKE“ kopiert nur die Tabellenstruktur und nicht die Daten.
Für temporäre Tabellen, die ausschließlich innerhalb einer einzelnen Abfrage verwendet werden, bieten „abgeleitete Tabellen“ in CTEs oder Unterabfragen eine einfache Alternative.
Das obige ist der detaillierte Inhalt vonWie kann ich eine temporäre Tabelle in SQL effizient erstellen und füllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!