Obsługa PostgreSQL CREATE TABLE AS
i SELECT INTO
kiedy korzystać z obu?
CREATE TABLE AS
- zdefiniuj nową tabelę na podstawie wyników zapytania
CREATE TABLE AS
tworzy tabelę i wypełnia ją danymi obliczonymi przezSELECT
polecenie. Kolumny tabeli mają nazwy i typy danych powiązane z kolumnami wyjściowymiSELECT
(z wyjątkiem tego, że można zastąpić nazwy kolumn, podając jawną listę nazw nowych kolumn).
CREATE TABLE AS
jest trochę podobny do tworzenia widoku, ale jest naprawdę całkiem inny: tworzy nową tabelę i ocenia zapytanie tylko raz, aby początkowo wypełnić nową tabelę. Nowa tabela nie będzie śledzić kolejnych zmian w tabelach źródłowych zapytania. Natomiast widok ponownie ocenia swoją definicjęSELECT
instrukcji za każdym razem, gdy jest pytany.
I wtedy.
SELECT INTO
- zdefiniuj nową tabelę na podstawie wyników zapytania
SELECT INTO
tworzy nową tabelę i wypełnia ją danymi obliczonymi przez zapytanie. Dane nie są zwracane do klienta, tak jak w przypadku normalnegoSELECT
. Kolumny nowej tabeli mają nazwy i typy danych powiązane z kolumnami wyjściowymi plikuSELECT
.