PostgreSQL VIEW (представление)

В этом учебном пособии вы узнаете, как создавать, обновлять и удалять VIEWS в PostgreSQL с синтаксисом и примерами.

Что такое VIEW в PostgreSQL?

В PostgreSQL VIEW это не физическая таблица, а скорее виртуальная таблица, созданная запросом joins, соединяющим одну или несколько таблиц.

Создать VIEW

Синтаксис

Синтаксис оператора CREATE VIEW в PostgreSQL:

CREATE [OR REPLACE] VIEW view_name AS
SELECT columns
FROM tables
[WHERE conditions];
OR REPLACE
Необязательный. Если вы не укажете этот оператор, а VIEW уже существует, оператор CREATE VIEW вернет ошибку.
view_name
Имя VIEW, которое вы хотите создать в PostgreSQL.
WHERE conditions
Необязательный. Условия, которые должны быть выполнены для включения записей в VIEW.

Пример

Вот пример того, как использовать оператор CREATE VIEW для создания представления в PostgreSQL:

Этот пример CREATE VIEW создаст виртуальную таблицу на основе результирующего набора оператора SELECT. Теперь вы можете запросить PostgreSQL VIEW следующим образом:

Обновить VIEW

Вы можете изменить определение VIEW в PostgreSQL, не удаляя его, используя оператор CREATE OR REPLACE VIEW.

Синтаксис

Синтаксис для оператора CREATE OR REPLACE VIEW в PostgreSQL:

CREATE OR REPLACE VIEW view_name AS
SELECT columns
FROM table
WHERE conditions;
view_name
Название представления, которое вы хотите обновить.

Пример

Вот пример того, как может использоваться оператор CREATE OR REPLACE VIEW в PostgreSQL:

Этот пример CREATE OR REPLACE VIEW обновил бы определение VIEW с именем current_inventory, не удаляя его.

ВНИМАНИЕ:
Оператор CREATE OR REPLACE VIEW будет работать, если вы добавляете столбцы в представление в конце списка. Тем не менее, это будет ошибка, если вы добавляете новые столбцы в существующие столбцы (то есть: начало или середина существующего списка).
В этом случае не используйте оператор CREATE OR REPLACE VIEW. Лучше удалить VIEW и использовать оператор CREATE VIEW!

Удалить VIEW

После создания VIEW в PostgreSQL вы можете удалить его с помощью оператора Drop VIEW.

Синтаксис

Синтаксис для оператора Drop VIEW в PostgreSQL:

Drop VIEW [IF EXISTS] view_name;
view_name
Название представления, которое вы хотите удалить.
IF EXISTS
Необязательный. Если вы не укажете этот параметр и VIEW не существует, оператор Drop VIEW вернет ошибку.

Пример

Вот пример того, как использовать оператор Drop VIEW в PostgreSQL:

Этот пример удалит VIEW с именем current_inventory.