Підтримка PostgreSQL CREATE TABLE AS
і SELECT INTO
коли я можу використовувати обоє?
CREATE TABLE AS
- визначити нову таблицю з результатів запиту
CREATE TABLE AS
створює таблицю і заповнює її даними, обчисленимиSELECT
командою. У стовпцях таблиці є імена та типи даних, пов’язані з вихідними стовпцямиSELECT
(за винятком того, що ви можете замінити імена стовпців, надавши явний список нових імен стовпців).
CREATE TABLE AS
має певну схожість із створенням представлення даних, але це насправді зовсім інше: він створює нову таблицю і оцінює запит лише один раз, щоб спочатку заповнити нову таблицю. Нова таблиця не буде відслідковувати наступні зміни у вихідних таблицях запиту. На противагу цьому, перегляд повторно оцінює своє визначальнеSELECT
висловлення кожного разу, коли воно запитується.
І потім.
SELECT INTO
- визначити нову таблицю з результатів запиту
SELECT INTO
створює нову таблицю і заповнює її даними, обчисленими запитом. Дані клієнту не повертаються, як це стосується звичайногоSELECT
. Стовпці нової таблиці мають імена та типи даних, пов'язані з вихідними стовпцямиSELECT
.