Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Инструкция CREATE/ALTER VIEW

Эта инструкция создает представление (view), которое также называется виртуальной таблицей. Представление функционирует так же, как таблица, но в действительности определяется как запрос. Если на представление есть ссылка в инструкции, результирующий набор данных запроса становится содержимым представления на период действия инструкции. Содержимое представления можно определить с помощью почти любой допустимой инструкции SELECT, хотя на некоторых платформах ограничивается применение некоторых предложений инструкции SELECT и некоторых наборов операторов.

В некоторых случаях представления можно обновлять, причем изменения представления заносятся в основные таблицы. Некоторые платформы поддерживают материализованные представления (materialized view), то есть таблицы, которые физически создаются на основе запроса, подобно представлениям.


Синтаксис SQL 2003

CREATE [RECURSIVE] VIEW имя_представления {[(.столбец [, …])] |
[OF имя_пользовательского_типа [UNDER имя_супертипа
[REF IS имя_столбца {SYSTEM GENERATED | USER GENERATED | DERIVED}]
[имя_столбца WITH OPTIONS SCOPE имя_таблицы]]} AS
инструкция_select [WITH [CASCADED | LOCAL] CHECK OPTION]


Ключевые слова

CREATE VIEW имя представления

Создается новое представление с указанным именем.

RECURSIVE

Создается представление, которое получает значения из себя самого. Инструкция должна содержать предложение столбец и не может использовать предложение WITH, [(столбец [, …])]

Присваиваются имена всем столбцам представления. Количество объявляемых здесь столбцов должно совпадать с количеством столбцов, генерируемых инструкцией_select. Если предложение опущено, подразумеваются имена столбцов, откуда были взяты данные. Предложение является обязательным, если имеются производные столбцы и нельзя сослаться на столбец базовой таблицы.

OF имя пользовательского типа [UNDER имя_супертипа]

Представление будет основываться на пользовательском типе, а не на указании столбцов. Объектное представление создается с использованием в качестве столбцов представления всех атрибутов типа. Для создания представления на основе подтипа используется инструкция UNDER.

Инструкция ALTER VIEW стандартом ANSI не поддерживается.

REF IS имя_столбца {SYSTEM GENERATED USER GENERATED | DERIVED}

В представлении определяется столбец идентификаторов объектов.

имя_столбца WITH OPTIONS SCOPE имя_таблицы

Указывается область действия столбца ссылок представления. (Поскольку столбцы создаются на основе типа, список столбцов отсутствует. Поэтому, чтобы указать опции столбцов, вы должны использовать предложение имя столбца WITH OPTIONS SCOPE…)

AS инструкция_select

Указывается конкретная инструкция SELECT, заполняющая представление данными.

[WITH [CASCADED LOCAL] CHECK OPTION]

Используется только в тех представлениях, которые могут обновлять соответствующие базовые таблицы. Это предложение гарантирует, что только те данные, которые можно прочитать при помощи представления, могут вставляться, обновляться или удаляться при помощи представления. Например, если в представлении employees показаны служащие, получающие оклад, и не показаны служащие, получающие почасовую оплату, то с помощью этого представления нельзя будет вставлять, обновлять или удалять записи о служащих с почасовой оплатой. Параметры CASCADED и LOCAL предложения CHECK OPTION используются для вложенных представлений. При указании параметра CASCADED проверка производится в текущем представлении и во всех представлениях, созданных на его основе. При указании предложения LOCAL проверка производится только в текущем представлении, даже если оно создано на основе других представлений.

Источник