Учебное пособие Санкт-Петербург «бхв-петербург»


CREATE VIEW имя-представления [ ( имя-столбца [, ...] ) ]



Pdf көрінісі
бет97/256
Дата18.11.2022
өлшемі1.88 Mb.
#465124
түріУчебное пособие
1   ...   93   94   95   96   97   98   99   100   ...   256
sql osnovi yazika

CREATE VIEW имя-представления [ ( имя-столбца [, ...] ) ]
AS запрос;
В этой команде обязательными элементами являются имя представления и запрос к
базе данных, который и формирует выборку из нее. Если список имен столбцов не
указан, тогда их имена «вычисляются» (формируются) на основании текста запроса.
Давайте создадим простое представление. В главе 3 мы решали задачу: подсчитать
количество мест в салонах для всех моделей самолетов с учетом класса обслуживания
(бизнес-класс и экономический класс). Запрос был таким:
SELECT aircraft_code,
fare_conditions,
count( * )
FROM seats
GROUP BY aircraft_code, fare_conditions
ORDER BY aircraft_code, fare_conditions;
На его основе создадим представление и дадим ему имя, отражающее суть этого
представления.
CREATE VIEW seats_by_fare_cond AS
SELECT aircraft_code,
fare_conditions,
count( * )
FROM seats
GROUP BY aircraft_code, fare_conditions
ORDER BY aircraft_code, fare_conditions;
Теперь мы можем вместо написания сложного первоначального запроса обращаться
непосредственно к представлению, как будто это обычная таблица.
123


Глава 5. Основы языка определения данных
SELECT * FROM seats_by_fare_cond;
В отличие от таблиц, представления не содержат данных. При каждом обращении к
представлению в команде SELECT данные выбираются из таблиц, на основе которых
это представление создано.
СУБД PostgreSQL предлагает свое расширение команды CREATE VIEW, а именно —
фразу OR REPLACE. Если представление уже существует, то можно его не удалять,
а просто заменить новой версией. Однако нужно помнить о том, что при создании
новой версии представления (без явного удаления старой с помощью команды DROP
VIEW) должны оставаться неизменными имена столбцов представления. Если же вы
хотите изменить имя хотя бы одного столбца, то сначала нужно удалить представле-
ние с помощью команды DROP VIEW, а уже затем создать его заново.
Имена столбцов можно явно указать в команде, но если они не указаны, то СУБД сама
«вычислит» эти имена. В только что созданном нами представлении третий столбец
получит имя count. Если мы захотим изменить это имя, то возможны два способа:
первый заключается в том, чтобы создать псевдоним для этого столбца с помощью
ключевого слова AS, а второй — в указании списка имен столбцов в начале команды
CREATE VIEW.
Попробуем воспользоваться первым способом (обратите внимание на добавление
фразы OR REPLACE и ключевого слова AS после вызова функции count):


Достарыңызбен бөлісу:
1   ...   93   94   95   96   97   98   99   100   ...   256




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет