Представление — это логическая таблица, созданная на основе реальной таблицы или другого представления. Представление не содержит собственных данных, а скорее является "окном", через которое можно просматривать или изменять данные из таблиц. Представление хранится в словаре данных как команда SELECT. Использование представлений позволяет осуществлять выборку данных из нескольких таблиц без каких-либо знаний об операторе соединения таблиц (join).
Представление создается путем включения подзапроса в команду CREATE VIEW.
Синтаксис
CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW представление
[(псевдоним[, псевдоним}...)]
AS подзапрос
[WITH CHECK OPTION [CONSTRAINT ограничение]]
[WITH READ ONLY]
где: FORCE
создание представления независимо от того, существуют ли базовые таблицы.
NOFORCE
создание представления только при условии существования базовых таблиц. Это значение принято по умолчанию.
представление
имя представления.
псевдоним
имена выражении, выбранных в запросе для представления. Количество псевдонимов должно быть равным количеству выражений, выбранных представлением.
подзапрос
полная команда SELECT. Для столбцов в списке SELECT можно использовать псевдонимы.
WITH CHECK OPTION
режим, при котором добавлять или обновлять можно только строки, доступные в представлении.
ограничение
имя, присвоенное ограничению CHECK OPTION.
WITH READ ONLY
запрет применения к данному представлению операций DML.
· Запрос, который определяет представление, может содержать команду SELECT со сложным синтаксисом, включая соединения, группы и подзапросы.
· Запрос, который определяет представление, не может содержать предложение ORDER BY.
· Если вы не указываете имя ограничения сами, система присвоит его по умолчанию в формате SYS_Cn.
· Для изменения определения представления без его удаления и создания заново, а также для изменения предоставленных привилегий можно использовать режим OR REPLACE.
Существуют два вида представлений: простые и сложные. Основное отличие связано с операциями DML.
Пример.
Создание представления, которое включает номер фильмов и дату выпуска всех фильмов после 01.01.1989 года. Включить псевдоним столбца god_vip в подзапрос. Вывод содержимого на экран.