PostgreSQL es compatible CREATE TABLE AS
y ¿ SELECT INTO
cuándo uso ambos?
CREATE TABLE AS
- definir una nueva tabla a partir de los resultados de una consulta
CREATE TABLE AS
crea una tabla y la llena con datos calculados por unSELECT
comando. Las columnas de la tabla tienen los nombres y tipos de datos asociados con las columnas de salida delSELECT
(excepto que puede anular los nombres de columna dando una lista explícita de nuevos nombres de columna).
CREATE TABLE AS
tiene cierta semejanza con la creación de una vista, pero en realidad es bastante diferente: crea una nueva tabla y evalúa la consulta solo una vez para llenar la nueva tabla inicialmente. La nueva tabla no realizará un seguimiento de los cambios posteriores en las tablas de origen de la consulta. Por el contrario, una vista reevalúa suSELECT
declaración de definición cada vez que se consulta.
Y entonces.
SELECT INTO
- definir una nueva tabla a partir de los resultados de una consulta
SELECT INTO
crea una nueva tabla y la llena con datos calculados por una consulta. Los datos no se devuelven al cliente, como ocurre con una normalSELECT
. Las columnas de la nueva tabla tienen los nombres y los tipos de datos asociados con las columnas de salida deSELECT
.