PostgreSQL es compatible CREATE TABLE ASy ¿ SELECT INTOcuándo uso ambos?
CREATE TABLE AS- definir una nueva tabla a partir de los resultados de una consulta
CREATE TABLE AScrea una tabla y la llena con datos calculados por unSELECTcomando. 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 AStiene 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 suSELECTdeclaració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 INTOcrea 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.
fuente
