O PostgreSQL suporta CREATE TABLE AS
e SELECT INTO
quando uso os dois?
CREATE TABLE AS
- definir uma nova tabela a partir dos resultados de uma consulta
CREATE TABLE AS
cria uma tabela e a preenche com dados calculados por umSELECT
comando. As colunas da tabela têm os nomes e tipos de dados associados às colunas de saída doSELECT
(exceto que você pode substituir os nomes das colunas, fornecendo uma lista explícita de novos nomes de colunas).
CREATE TABLE AS
tem alguma semelhança com a criação de uma exibição, mas é realmente bem diferente: cria uma nova tabela e avalia a consulta apenas uma vez para preencher a nova tabela inicialmente. A nova tabela não rastreará alterações subseqüentes nas tabelas de origem da consulta. Por outro lado, uma visão reavalia suaSELECT
declaração de definição sempre que é consultada.
E depois.
SELECT INTO
- definir uma nova tabela a partir dos resultados de uma consulta
SELECT INTO
cria uma nova tabela e a preenche com dados calculados por uma consulta. Os dados não são retornados ao cliente, como é normalSELECT
. As colunas da nova tabela têm os nomes e tipos de dados associados às colunas de saída doSELECT
.