Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
17.04.2018
Размер:
329.22 Кб
Скачать

Создание представления

Для создания представления нужно указать только имя представления и оператор SELECT, который будет выполняться при обращении к представлению:

CREATE OR REPLACE VIEW имя_представления AS

оператор SELECT ;

В операторе CREATE присутствует элемент OR REPLACE, который позволяет создавать новое представление даже тогда, когда представление с указанным именем уже существует (при этом существующее представление перезаписывается):

CREATE OR REPLACE VIEW sales_by_atlas_v AS

SELECT * FROM purchase WHERE salesperson = 'CA'

;

SELECT * FROM sales_by_atlas_v;

Следующие команды показывают, как создать представление для просмотра данных из соединенных таблиц:

CREATE OR REPLACE VIEW sales_per_person_v AS

SELECT pers.first_name II ' ' II pers.last_name SALESPERSON,

purc.product_name,

purc.purchase_date,

pure.quantity

FROM person pers,

purchase purc

WHERE pers.person_code = purc.salesperson (+)

;

SELECT * FROM sales_per_person_v

ORDER BY salesperson, product_name, purchase_date;

В последнем примере предложение ORDER BY включено в оператор SELECT, извлекающий данные из представления, а не в само представление. До появления Oracle 8i представления не могли содержать предложение ORDER BY. В 8i и последующих версиях можно заставить представление сортировать отображаемые записи, указав сразу после предложения WHERE предложение ORDER BY, как в стандартном операторе SELECT.

Удаление представлений

Удалить представление так же легко, как и таблицу, но это действие менее разрушительно, поскольку представление не содержит никаких данных; самое худшее, к чему может привести случайное удаление представления, — это к необходимости создавать его заново. Команда, удаляющая представление, имеет следующий синтаксис:

DROP VIEW имя_представления ;

Например:

DROP VIEW sales_per_person_v ;

Изменение определения представления

Oracle не позволяет изменять существующее представление. Единственный способ изменить представление — это удалить его и создать заново. По этой причине все команды создания представлений следует хранить в файлах сценариев. При необходимости изменить представление достаточно будет открыть файл сценария, изменить содержащуюся в нем команду CREATE VIEW и запустить сценарий еще раз.

Анализ первых n записей

Для анализа первых по счету записей таблицы результатов используется тот факт, что каждой записи, возвращаемой в результате обработки любого запроса, динамически присваивается порядковый номер. Первая (или единственная) возвращенная запись получит номер 1 независимо от своего положения в таблице. На эти номера можно ссылаться в предложении WHERE. Если в операторе SELECT выполняется сортировка результатов, можно добиться того, что Oracle покажет 5, 50 или 500 наиболее важных записей, дополнив оператор предложением WHERE, ограничивающим количество выводимых строк. Синтаксис, позволяющий это реализовать, выглядит следующим образом:

SELECT имя_столбца_1 [, имя_столбца_2...]

FROM имя_таблщы

WHERE ROWNUM <= нужное_число_записей

ORDER BY столбец_сортировки ;

Приведенная ниже команда создает представление, показывающее три товара, которых больше всего на складе:

CREATE OR REPLACE VIEW overstocked_items AS

SELECT product_name, quantity_on_hand

FROM product

WHERE ROWNUM <= 3

ORDER BY quantity_on_hand

;

SELECT * FROM overstocked_items;

Соседние файлы в папке лекции оракл