PostgreSQL unterstützt CREATE TABLE AS
und SELECT INTO
wann verwende ich beide?
CREATE TABLE AS
- Definieren Sie eine neue Tabelle aus den Ergebnissen einer Abfrage
CREATE TABLE AS
Erstellt eine Tabelle und füllt sie mit Daten, die mit einemSELECT
Befehl berechnet wurden . Die Tabellenspalten haben die Namen und Datentypen, die den Ausgabespalten von zugeordnet sindSELECT
(außer dass Sie die Spaltennamen überschreiben können, indem Sie eine explizite Liste neuer Spaltennamen angeben).
CREATE TABLE AS
ähnelt der Erstellung einer Ansicht, ist aber ganz anders: Sie erstellt eine neue Tabelle und wertet die Abfrage nur einmal aus, um die neue Tabelle anfangs zu füllen. In der neuen Tabelle werden nachfolgende Änderungen an den Quellentabellen der Abfrage nicht nachverfolgt. Im Gegensatz dazu wertet eine Ansicht ihre definierendeSELECT
Anweisung immer dann neu aus, wenn sie abgefragt wird.
Und dann.
SELECT INTO
- Definieren Sie eine neue Tabelle aus den Ergebnissen einer Abfrage
SELECT INTO
Erstellt eine neue Tabelle und füllt sie mit Daten, die von einer Abfrage berechnet wurden. Die Daten werden nicht wie bei einem normalen Client zurückgegebenSELECT
. Die Spalten der neuen Tabelle haben die Namen und Datentypen, die den Ausgabespalten der Tabelle zugeordnet sindSELECT
.