PostgreSQL supporta CREATE TABLE AS
e SELECT INTO
quando uso entrambi?
CREATE TABLE AS
- definisce una nuova tabella dai risultati di una query
CREATE TABLE AS
crea una tabella e la riempie di dati calcolati da unSELECT
comando. Le colonne della tabella hanno i nomi e i tipi di dati associati alle colonne di output diSELECT
(tranne che è possibile sovrascrivere i nomi delle colonne fornendo un elenco esplicito di nuovi nomi di colonna).
CREATE TABLE AS
assomiglia un po 'alla creazione di una vista, ma è davvero molto diverso: crea una nuova tabella e valuta la query una sola volta per riempire inizialmente la nuova tabella. La nuova tabella non terrà traccia delle modifiche successive alle tabelle di origine della query. Al contrario, una vista rivaluta la suaSELECT
dichiarazione di definizione ogni volta che viene interrogata.
E poi.
SELECT INTO
- definisce una nuova tabella dai risultati di una query
SELECT INTO
crea una nuova tabella e la riempie di dati calcolati da una query. I dati non vengono restituiti al client, come è normaleSELECT
. Le colonne della nuova tabella hanno i nomi e i tipi di dati associati alle colonne di output diSELECT
.