Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_shilina.doc
Скачиваний:
6
Добавлен:
19.09.2019
Размер:
275.46 Кб
Скачать

Синтаксис

CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]

[ WITH <view_attribute> [ ,...n ] ]

AS select_statement

[ WITH CHECK OPTION ] [ ; ]

<view_attribute> ::=

{

[ ENCRYPTION ]

    [ SCHEMABINDING ]

    [ VIEW_METADATA ]     }

schema_name - Имя схемы, к которой принадлежит представление.

view_name - Имя представления. Имена представлений должны соответствовать требованиям, предъявляемым к идентификаторам. Указывать имя владельца представления не обязательно.

Column - Имя, которое будет иметь столбец в представлении. Имя столбца требуется только в тех случаях, когда столбец формируется на основе арифметического выражения, функции или константы, если два или более столбцов могут по иной причине получить одинаковые имена (как правило, в результате соединения) или если столбцу представления назначается имя, отличное от имени столбца, от которого он произведен. Назначать столбцам имена можно также в инструкции SELECT.

AS - Определяет действия, которые должны быть выполнены в представлении.

select_statement - Инструкция SELECT, которая определяет представление. В этой инструкции можно указывать более одной таблицы и другие представления. Для выбора объектов, указанных в предложении SELECT создаваемого представления, необходимы соответствующие разрешения.

Представление не обязательно является простым подмножеством строк и столбцов одной конкретной таблицы. С помощью предложения SELECT можно создавать представление, использующее более одной таблицы, или другие представления любой степени сложности.

При использовании в определении индексированного представления инструкция SELECT должна содержать указание одной таблицы или соединять инструкцией JOIN несколько таблиц с необязательной статистической обработкой.

Предложения SELECT, используемые в определении представления, не могут включать следующие элементы:

  • предложения COMPUTE и COMPUTE BY;

  • предложение ORDER BY, если только в списке выбора инструкции SELECT нет также предложения TOP;

  • ключевое слово INTO;

  • предложение OPTION;

  • ссылку на временную таблицу или табличную переменную.

Представление может быть создано только в текущей базе данных. Представление может включать не более 1 024 столбцов. При выполнении запросов через представление компонент Database Engine проверяет, существуют ли все указанные в инструкции объекты базы данных, верны ли они в контексте инструкции и соответствуют ли инструкции модификации данных правилам обеспечения целостности данных. Если проверка завершается ошибкой, возвращается сообщение об ошибке. При успешной проверке операция преобразуется в операцию над базовой таблицей или таблицами.

Если представление зависит от удаленной таблицы или представления, компонент Database Engine в ответ на попытку использования представления возвращает сообщение об ошибке. Если создана новая таблица или представление, а структура таблицы не изменилась по сравнению с предыдущей базовой таблицей для замены удаленной, то представление можно использовать снова. Если структура новой таблицы или представления отличается от предыдущей, представление нужно удалить и создать заново.

Для создания VIEW невозможно использовать оператор UNION, не разрешаются операции вставки в представление, если воVIEW существуют вычислимые поля.

Пример

CREATE VIEW titles_view

AS 

SELECT title, type, price, pubdate

    FROM titles

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]