Skip to content

10. Представления T SQL

Pandas edited this page Jan 1, 2018 · 1 revision

Представление (View) – это виртуальная таблица, содержимое которой (столбцы и строки) определяется запросом.

Представление можно использовать в следующих целях:

  • Для направления, упрощения и настройки восприятия информации в базе данных каждым пользователем.
  • В качестве механизма безопасности, позволяющего пользователям обращаться к данным через представления, но не дающего им разрешений на непосредственный доступ к базовым таблицам.

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

Для создания представления данных, содержащихся в одной или более таблицах базы данных, необходимо использовать инструкцию CREATE VIEW, которая должна быть первой в пакетном запросе.

Базовый синтаксис

CREATE VIEW [ имя-схемы . ] имя [ (столбец [ ,...n ] ) ] AS инструкция-select

столбец – имя, которое будет иметь столбец в представлении. Имя столбца требуется только в тех случаях, когда столбец формируется на основе арифметического выражения, функции или константы, если два или более столбцов могут по иной причине получить одинаковые имена.

Обновляемые представления

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

  • Любые изменения, в том числе инструкции UPDATE, INSERT и DELETE, должны ссылаться на столбцы только одной базовой таблицы.
  • Изменяемые в представлении столбцы должны непосредственно ссылаться на данные столбцов базовой таблицы. Столбцы нельзя сформировать каким- либо другим образом, в том числе:
    • при помощи агрегатной функции: AVG, COUNT, SUM, MIN, MAX, GROUPING, STDEV, STDEVP, VAR и VARP;
    • на основе вычисления. Столбец нельзя вычислить по выражению, включающему другие столбцы. Столбцы, сформированные при помощи операторов UNION, UNION ALL, CROSSJOIN, EXCEPT и INTERSECT, считаются вычисляемыми и также не являются обновляемыми.
    • Предложения GROUP BY, HAVING и DISTINCT не влияют на изменяемые столбцы.
    • Предложение TOP не используется нигде в инструкции select представления вместе с предложением WITH CHECK OPTION.
Clone this wiki locally