PostgreSQL supporta CREATE TABLE ASe SELECT INTOquando uso entrambi?
CREATE TABLE AS- definisce una nuova tabella dai risultati di una query
CREATE TABLE AScrea una tabella e la riempie di dati calcolati da unSELECTcomando. 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 ASassomiglia 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 suaSELECTdichiarazione di definizione ogni volta che viene interrogata.
E poi.
SELECT INTO- definisce una nuova tabella dai risultati di una query
SELECT INTOcrea 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.