Obsługa PostgreSQL CREATE TABLE ASi SELECT INTOkiedy korzystać z obu?
CREATE TABLE AS- zdefiniuj nową tabelę na podstawie wyników zapytania
CREATE TABLE AStworzy tabelę i wypełnia ją danymi obliczonymi przezSELECTpolecenie. 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 ASjest 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ęSELECTinstrukcji za każdym razem, gdy jest pytany.
I wtedy.
SELECT INTO- zdefiniuj nową tabelę na podstawie wyników zapytania
SELECT INTOtworzy 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.