Представления
В предыдущих статьях инструкции DDL и DML рассматривались применительно к базовым таблицам. Данные базовой таблицы хранятся на диске. В отличие от базовых таблиц, представления по умолчанию не существуют физически, т.е. их содержимое не сохраняется на диске. Это не относится к так называемым индексированным представлениям, которые рассматриваются позже. — это объекты базы данных, которые всегда создаются на основе одной или более базовых таблиц (или других представлений), используя информацию метаданных. Эта информация (включая имя представления и способ получения строк из базовых таблиц) — все, что сохраняется физически для представления. По этой причине представления также называются виртуальными таблицами.
Создание представления
Представление создается посредством инструкции CREATE VIEW, синтаксис которой выглядит следующим образом:
Инструкция CREATE VIEW должна быть единственной инструкцией пакета. (Это означает, что эту инструкцию следует отделять от других инструкций группы посредством инструкции GO.)
Параметр view_name задает имя определяемого представления, а в параметре column_list указывается список имен, которые будут использоваться в качестве имен столбцов представления. Если этот необязательный параметр опущен, то используются имена столбцов таблиц, по которым создается представление. Параметр select_statement задает инструкция SELECT, которая извлекает строки и столбцы из таблиц (или других представлений). Параметр WITH ENCRYPTION задает шифрование инструкции SELECT, повышая таким образом уровень безопасности системы баз данных.
Предложение SCHEMABINDING привязывает представление к схеме таблицы, по которой оно создается. Когда это предложение указывается, имена объектов баз данных в инструкции SELECT должны состоять из двух частей, т.е. в виде schema.db_object, где schema — владелец, а db_object может быть таблицей, представлением или определяемой пользователем функцией.
Любая попытка модифицировать структуру представлений или таблиц, на которые ссылается созданное таким образом представление, будет неудачной. Чтобы такие таблицы или представления можно было модифицировать (инструкцией ALTER) или удалять (инструкцией DROP), нужно удалить это представление или убрать из него предложение SCHEMABINDING.
Когда при создании представления указывается параметр VIEW_METADATA, все его столбцы можно обновлять (за исключением столбцов с типом данных timestamp), если представление имеет триггеры INSERT или UPDATE INSTEAD OF.
Инструкция SELECT в представлении не может содержать предложение ORDER BY или параметр INTO. Кроме этого, по временным таблицам нельзя выполнять запросы.
Представления можно использовать для разных целей:
- Для ограничения использования определенных столбцов и/или строк таблиц. Таким образом, представления можно использовать для управления доступом к определенной части одной или нескольких таблиц.
- Для скрытия подробностей сложных запросов. Если для приложения базы данных требуются запросы со сложными операциями соединения, создание соответствующих представлений может упростить такие запросы.
- Для ограничения вставляемых или обновляемых значений некоторым диапазоном.
В примере ниже показано создание представления:
USE SampleDb; GO CREATE VIEW view_Consultant AS SELECT EmpId, ProjectNumber, EnterDate FROM Works_on WHERE Job = 'Консультант';
Запрос в этом примере выбирает из таблицы Works_on строки, удовлетворяющие условию Job=’Консультант’. Представление view_Consultant определяется строками и столбцами, возвращаемыми этим запросом. На рисунке ниже отображена таблица Works_on, в которой строки, выбранные в представлении view_Consultant, выделены красным цветом:

Запрос в этом примере задает выборку строк, т.е. он создает горизонтальное подмножество базовой таблицы Works_on. Возможно также создание представления с ограничениями на включаемые в него столбцы и строки. Создание такого представления показано в примере ниже:
USE SampleDb; GO CREATE VIEW view_WithoutBudget AS SELECT Number, ProjectName FROM Project;
Запрос в этом примере выбирает для включения в представление view_WithoutBudget все столбцы таблицы Project, за исключением столбца Budget.
Как уже упоминалось ранее, в общем формате инструкции CREATE VIEW не обязательно указывать имена столбцов представления. Однако, с другой стороны, в приведенных далее двух случаях обязательно требуется явно указывать имена столбцов:
- если столбец представления создается из выражения или агрегатной функции;
- если два или больше столбцов представления имеют одинаковое имя в базовой таблице.
В примере ниже показано создание представления, для которого явно указываются имена столбцов:
USE SampleDb; GO CREATE VIEW view_Count(projectNumber, countProject) AS SELECT ProjectNumber, COUNT(*) FROM Works_on GROUP BY ProjectNumber;
Здесь имена столбцов представления view_Count должны быть указаны явно по той причине, что инструкция SELECT содержит агрегатную функцию count(*), которая требует, чтобы все столбцы представления были именованы.
Не требуется явно указывать список столбцов в инструкции CREATE VIEW, если применить заголовки столбцов, как это показано в примере ниже:
USE SampleDb; GO CREATE VIEW view_Count1 AS SELECT ProjectNumber, COUNT(*) countProject FROM Works_on GROUP BY ProjectNumber;
Представление можно создать из другого представления, как показано в примере:
USE SampleDb; GO CREATE VIEW view_project_p2 AS SELECT EmpId FROM view_Consultant WHERE ProjectNumber ='p2';
Представление view_project_p2 в примере ниже создается из представления view_Consultant. Все запросы, использующие представление view_project_p2, преобразовываются в эквивалентные запросы к базовой таблице Works_on.
Представления можно также создавать посредством среды Management Studio. Для этого выберите в обозревателе объектов базу данных, в которой требуется создать представление, щелкните в ней правой кнопкой мыши узел Views и в открывшемся контекстном меню выберите пункт New View. Откроется редактор представлений, в котором можно выполнять следующие действия:
- выбрать базовые таблицы и строки в этих таблицах для создания представления;
- присвоить представлению имя и определить условия в предложении WHERE соответствующего запроса.
Изменение и удаление представлений
Для изменения определения представления в языке Transact-SQL применяется инструкция ALTER VIEW. Синтаксис этой инструкции аналогичен синтаксису инструкции CREATE VIEW, применяющейся для создания представления.
Использование инструкции ALTER VIEW позволяет избежать переназначения существующих разрешений для представления. Кроме этого, изменение представления посредством этой инструкции не влияет на объекты базы данных, зависящие от этого представления. Если же модифицировать представление, сначала удалив его (инструкция DROP VIEW), а затем создав новое представление с требуемыми свойствами (инструкция CREATE VIEW), то все объекты базы данных, которые ссылаются на это представление, не будут работать должным образом, по крайней мере, в период времени между удалением представления и его воссоздания.
Использование инструкции ALTER VIEW показано в примере ниже:
USE SampleDb; GO ALTER VIEW view_WithoutBudget AS SELECT Number, ProjectName FROM Project WHERE Number >= 'p3';
В этом примере инструкция ALTER VIEW расширяет инструкцию SELECT в представлении view_WithoutBudget новым условием в предложении WHERE.
Инструкция DROP VIEW удаляет из системных таблиц определение указанного в ней представления. Применение этой инструкции показано в примере ниже:
USE SampleDb; GO DROP VIEW view_Count;
При удалении представления инструкцией DROP VIEW все другие представления, основанные на удаленном, также удаляются, как показано в примере ниже:
USE SampleDb; GO DROP VIEW view_Consultant;
Здесь инструкция DROP VIEW явно удаляет представление view_Consultant, при этом неявно удаляя представление view_project_p2, основанное на представлении view_Consultant. Теперь попытка выполнить запрос по представлению view_project_p2 возвратит сообщение об ошибке.
При удалении базовой таблицы представления, основанные на ней другие представления, не удаляются автоматически. Это означает, что все представления для удаленной таблицы нужно удалять явно, используя инструкцию DROP VIEW. С другой стороны, представления удаленной таблицы можно снова использовать на новой таблице, имеющей такую же логическую структуру, как и удаленная.
Редактирование информации о представлениях
Наиболее важным представлением каталога применительно к представлениям является sys.objects. Как уже упоминалось, это представление каталога содержит информацию касательно всех объектов в текущей базе данных. Все строки этого представления со значением V в столбце type содержат информацию о представлениях.
А представление каталога sys.views содержит дополнительную информацию о существующих представлениях. Наиболее важным столбцом этого представления является столбец with_check_option, который информирует, указано или нет предложение WITH CHECK OPTION. Запрос для определенного представления можно отобразить посредством системной процедуры sp_helptext.
Как создать представление в sql management studio
Представление создается при использовании оператора create view. Общая форма этого оператора:
create view view_name
[with [encryption i schemabinding i view_metadata>] as select_statement [with check option]
Здесь view_name- имя определяемого представления; coiumn_iist- список имен, которые будут использованы для столбцов в представлении. Если эта необязательная спецификация опущена, то будут использованы имена столбцов из таблиц, лежащих в основе представления. seiect_statement задает оператор select, который отыскивает строки и столбцы из одной или более таблиц (и/или представлений). Опция with encryption кодирует оператор select, повышая, таким образом, безопасность системы баз данных.
Предложение schemabinding связывает представление со схемой таблицы, лежащей в основе представления. Когда задано schemabinding, то объекты, на которые ссылается оператор select, должны иметь имена, состоящие из двух частей в форме: владелец. объект_базы_данных, где объект_базы_данных может быть именем таблицы, представления или функцией, определенной пользователем.
Любая попытка изменить структуру представлений или таблиц, на которые ссылается представление, созданное с этим предложением, будет ошибочной. Вы должны удалить представление или изменить его так, чтобы оно не содержало предложения schemabinding, если вам нужно применить операторы drop или alter для объектов, на которые осуществляются ссылки. (Предложение with check option подробно обсуждается в разд. «Оператор INSERT и представление» далее В этом разделе.)
Когда представление создается с опцией viewmetadata, все его столбцы (за исключением столбцов с типом данных timestamp) могут изменяться, если представление имеет триггеры insert или update instead of. Триггеры обсуждаются.
Представления могут применяться для различных целей.
♦ Для ограничения использования отдельных столбцов и/или строк таблицы. По этой причине представления могут быть использованы для управления доступом к отдельным частям одной или более таблиц.
♦ Чтобы скрыть детали сложных запутанных запросов. Если приложениям базы данных нужны запросы, которые включают сложные операции соединения, то создание соответствующих представлений может упростить использование подобных запросов.
♦ Для ограничения добавляемых или изменяемых значений некоторым диапазоном.
В примере 11.1 показано создание представления.

Запрос в примере 11.1 отыскивает строки в таблице workson, для которых истинным является условие job = ‘Clerk’. Представление vcierk определено как строки и столбцы, возвращаемые этим запросом. В табл. 11.1 представлены строки таблицы works on; строки, принадлежащие преставлению vcierk, выделены полужирным шрифтом.


Пример 11.1 задает выборку строк, т.е. он создает горизонтальное подмножество из базовой таблицы workson. Также можно создавать представления, которые наряду со строками ограничивают и столбцы, включаемые в представление. В примере 11.2 показано создание подобного представления.

Представление vwithoutbudget в примере 11.2 содержит все столбцы таблицы project за исключением столбца budget.
Как уже было сказано, задание имен столбцов в представлении в общем формате оператора create view является необязательным. С другой стороны, существуют два случая, когда требуется явное задание имен столбцов:
♦ если столбец представления является наследуемым из выражения или агрегатной функции;
♦ если два или более столбцов имеют одинаковые имена в таблицах, лежащих в основе представления.
В примере 11.3 показано явное задание имен столбцов в представлении.

Имена столбцов представления vcount в примере 11.3 должны быть заданы явно, потому что оператор select содержит агрегатную функцию count(*). Все столбцы в этом представлении должны быть именованы.
Вы можете избежать явного задания имен столбцов в операторе create view, если используете заголовки столбцов, как показано в примере 11.4.

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

Представление v_project_p2 в примере 11.5 наследуется из представления v_cierk (см. пример 11.1). Каждый запрос, использующий представление v_project_p2, конвертируется в эквивалентный запрос к базовой таблице works_on.
Вы также можете создавать представление, используя Object Inspector из SQL Server Management Studio. Выберите базу данных, для которой собираетесь создавать представление, щелкните правой кнопкой мыши по Views и выберите пункт New View. Появится соответствующий редактор. Используя этот редактор, вы можете:
♦ выбрать для создаваемого представления таблицы и столбцы из этих таблиц;
♦ присвоить представлению имя и определить условия в предложении where соответствующего запроса.
Microsoft Sql Server 2005. Представления (Урок 7)

Представления – это именованные запросы на выборку данных (инструкции SELECT на языке T-SQL), хранящиеся в базе данных. В запросах представления можно использовать, так же как и таблицы, независимо от сложности их инструкций SELECT. Подобно таблицам представления также состоят из полей и записей. Однако в отличие от таблиц они не содержат каких-либо данных (за исключением материализованных (индексированных) представлений).
Представления всегда основываются на таблицах и используются для получения данных, хранящихся в этих таблицах, в определенных разрезах. Представления позволяют достичь более высокой защищенности данных, а также предоставляют проектировщику средства настройки пользовательской модели.
Механизм представлений может использоваться по нескольким причинам.
- Он предоставляет мощный и гибкий механизм защиты, позволяющий скрыть некоторые части базы данных от определенных пользователей. Пользователь не будет иметь сведений о существовании каких-либо атрибутов или кортежей, отсутствующих в доступных ему представлениях. (Горизонтальное и вертикальное разбиение таблиц).
- Он позволяет организовать доступ пользователей к данным наиболее удобным для них образом, поэтому одни и те же данные в одно и то же время могут рассматриваться разными пользователями совершенно различными способами. (В частности переименование атрибутов).
- Он позволяет упрощать сложные операции с базовыми отношениями. Например, если представление будет определено на основе соединения двух отношений, то пользователь сможет выполнять над ним простые унарные операции выборки и проекции, которые будут автоматически преобразованы средствами СУБД в эквивалентные операции с выполнением соединения базовых отношений. Одной из важнейших причин использования представлений является стремление к упрощению многотабличных запросов. После определения представления с соединением нескольких таблиц можно будет использовать простейшие однотабличные запросы к этому представлению вместо сложных запросов с выполнением того же самого многотабличного соединения.
Все эти примеры демонстрируют определенную степень логической независимости от данных, достигаемую за счет использования представлений. Однако на самом деле представления позволяют добиться и более важного типа логической независимости от данных, связанной с защитой пользователей от реорганизаций концептуальной схемы. Например, если в отношение будет добавлен новый атрибут, то пользователи не будут даже подозревать о его существовании, пока определения их представлений не включают этот атрибут. Если существующее отношение реорганизовано или разбито на части, то использующее его представление может быть переопределено так, чтобы пользователи могли продолжать работать с данными в прежнем формате. Создание представлений в Management Studio В утилите SQL Server Management Studio представления можно создавать, редактировать, выполнять и вставлять в другие запросы. Поскольку представление является ничем иным, как сохраненной инструкцией SELECT, его создание начинается с проектирования этой инструкции. Инструкция SELECT, если она является корректной, может быть вырезана и вставлена в представление практически из любого инструмента. В утилите Management Studio представления перечислены в собственном узле в каждой базе данных. Команда «Создать представление» в контекстном меню позволит запустить конструктор запросов в режиме создания представлений.
Конструктор запросов утилиты Management Studio способен одновременно отображать множество панелей, выбранных на панели инструментов
.
- Панель диаграммы (Область схемы). В запросе может участвовать множество таблиц и представлений. Для связывания их отношениями с целью формирования предложения FROM инструкции SELECT можно использовать это графическое представление.
- Панель сетки (Область условий). На этой панели перечисляются отображаемые, фильтруемые и сортируемые столбцы.
- Панель SQL. На этой панели можно в текстовом виде увидеть и отредактировать формируемую инструкцию SELECT.
- Панель результатов. Когда запрос выполняется с помощью действия «Выполнить код SQL»
, на этой панели отображаются его результаты. Если результаты запроса остаются нетронутыми долгое время, Management Studio запрашивает у пользователя разрешение закрыть подключение к серверу.
Фактический код SQL отображается и редактируется в панели SQL кода. Столбцы в представление можно добавлять в панелях диаграммы, сетки и SQL кода. Функция добавления таблиц доступна в контекстном меню, а также на панели инструментов. Здесь можно добавлять таблицы, другие представления, синонимы и табличные функции. Таблицы и другие представления могут быть добавлены посредством перетаскивания их на панель диаграммы из окна «Обозреватель объектов» или с помощью команды «Добавить таблицу»
на панели инструментов или в контекстном меню. Функция добавления производных таблиц
способна добавить в предложение FROM представления в качестве источника данных подзапрос. Код SQL этого подзапроса можно ввести вручную на панели SQL. Кнопка «Проверить синтаксис SQL»
позволяет проверить синтаксис введенных инструкций SQL. В то же время она не проверяет имена таблиц, столбцов и представлений в инструкции SELECT. Кнопка «Сохранить»
панели инструментов запускает сценарий фактического создания представления в базе данных. Следует отметить, что для сохранения инструкция SELECT должна быть свободна от ошибок. После создания представления его можно редактировать в Management Studio, выделяя название и выбирая в контекстном меню команду «Проект». Для тестирования инструкции SELECT представления в конструкторе запросов щелкните на кнопке «Выполнить код SQL»
или нажмите клавишу . Контекстное меню представления также содержит команды управления его полнотекстовой индексацией и его переименования. Свойства приложения содержат расширенные параметры и разрешения системы безопасности. Для удаления представления из базы данных достаточно выделить его, выбрать в контекстном меню команду «Удалить» или нажать одноименную клавишу. Создание представлений с помощью кодаSQL Представлениями можно управлять в редакторе запросов, выполняя сценарии SQL, которые используют команды языка DDL: CREATE, ALTER и DROP. Основной синтаксис создания представления следующий: CREATE VIEW имя_представления
Например, чтобы создать представление v_Customer, возвращающее список клиентов с указанием города проживания, программным путем, в окне запросов должна быть выполнена следующая команда.
CREATE VIEW [dbo]. [v_Customer]
SELECT dbo.Customer.IdCust, dbo.Customer.FName, dbo.Customer.LName, dbo.City.CityName
FROM dbo.Customer INNER JOIN
dbo.City ON dbo.Customer.IdCity = dbo.City.IdCity
Попытка создать представление, которое уже существует, вызовет ошибку. Когда представление создано, инструкцию SELECT можно с легкостью отредактировать с помощью команды ALTER:
Если изменение представления предполагает и изменение прав доступа на него, предпочтительнее удалить его и создать заново, поскольку удаление представления также приводит и к удалению разрешений доступа, установленных ранее.
Чтобы удалить представление из базы данных, используйте команду DROP:
DROP VIEW имя_представления
Предложение ORDER BY и представления
Представления служат источником данных для других запросов и не поддерживают сортировку внутри себя. Например, следующий код извлекает данные из представления v_Customer и упорядочивает их по полям LName и FName. Предложение ORDER BY не является частью представления v_Customer, а применяется к нему с помощью вызова инструкции SQL:
SELECT IdCust, FName, LName, CityName
ORDER BY LName, FName
Выполнение представлений
Представление не может быть выполнено само по себе. Инструкция SELECT, на основе которой создано представление, может быть выполнена, однако в этой форме, с технической стороны, инструкция SQL не является представлением. Представление может быть полезно только как источник данных в запросе.
Именно поэтому контекстное меню «Открыть представление» утилиты Management Studio автоматически генерирует простой запрос, извлекая из представления все столбцы. Представление отображает только результаты. Однако включение других панелей конструктора запросов позволяет увидеть и сам запрос, извлеченный из представления.
Панель SQL отобразит представление в предложении FROM инструкции SELECT. Именно в такой форме на представление ссылаются пользователи:
Задание для самостоятельной работы: Создайте представление возвращающее список заказов с указанием имени клиента и количества товаров в каждом заказе. Таким образом, результат должен включать следующие атрибуты: IdOrd, OrdDate, IdCust, FName, LName, Количество видов товаров в заказе.
- Начало работы с Microsoft SQL Server 2005 (Урок 1)
- Создание таблиц в SQL Server 2005 (Урок 2)
- Создание ограничений в SQL Server 2005(Урок 3)
- Основы Transact SQL: Простые выборки данных (Урок 4, часть 1)
- Основы Transact SQL: Простые выборки данных (Урок 4, часть 2)
- Фильтрация данных SQL Server
- Агрегатные функции SQL
- Запросы SQL с группировкой строк
- Внутреннее и внешнее соединение при помощи оператора JOIN
- Объединение наборов записей в SQL Server
- Удаление записей из базы данных SQL
Еще записи по теме
- Как скрыть папку
- Основы Transact SQL: Добавление, изменение и удаление данных. (Урок 6)
- Векторные редакторы(CorelDRAW), создание логотипа
- Начало работы с Microsoft SQL Server 2005 (Урок 1)
- Создание информационно-аналитической системы управления базой данных магазина электроники
- КУРСОВАЯ РАБОТА. Информационно-аналитическая система “Зарплата”. VBA, Excel.
- Структура редактора VBA (Visual Basic for Applications)
Лабораторная работа №5 «создание представлений»
Представление (view) ‑ это виртуальная таблица, определяемая запросом, содержащим оператор SELECT. Эта виртуальная таблица состоит из данных одной или нескольких реальных таблиц, а для пользователей представление выглядит, как реальная таблица. С представлением можно работать, как с обычной таблицей. К представлению можно применять операции SELECT, INSERT, UPDATE и DELETE. На самом деле представление хранится просто как заранее определенный оператор SQL. При доступе к представлению оптимизатор запросов SQL Server объединяет текущий выполняемый оператор SQL с запросом, который был использован для определения данного представления.
Преимущество использования представлений заключается в том, что можно создавать представления с различными атрибутами без необходимости дублирования данных. Представления полезны в целом ряде ситуаций.
Представление полезно использовать для обеспечения безопасности данных, для упрощения презентации данных и для логической презентации данных. Их можно также использовать для слияния секционированных (partitioned) данных.
Представление можно создовать двумя способами:
- С помощью Microsoft SQL Server Management Studio;
- C помощью кода на T-SQL.
Создание представления с помощью Microsoft SQL Server Management Studio
Для пример будем использовать БД Northwind.
В окне Object Explorer раскройте папку Databases (Базы данных) на котором находится база данных Northwind. Найдите папку View (представление). Щелкните правой клавишей по View (представление) в появившемся контекстном меню выберите команду New View (Новое представление) (рисунок 5.1).

Рисунок 5.1 ‑ Пункт меню “Новое представление”
При создании представления система спрашивает, какие таблицы и созданные ранее представления будут использоваться при создании представления. (Рисунок 5.2)

Рисунок 5.2 – Выбор нужных таблиц
Созданное представление. (Рисунок 5.3)
Панель сетка Панель sql Панель результатов Панель схемы
Рисунок 5.3 – Окно созданного представления
Окно представление состоит из следующих четырех панелей:
- Панель схемы (Diagrampanel). Показывает данные таблицы, которые используются для создания представления. В этой панели можно выбирать колонки. В этой панели отображаются таблицы и созданные ранее представления, которые участвуют в представлении.
- Панель сетка (Gridpanel). Показывает колонки, выбранные из таблицы или базовых таблиц. В этой панели можно выбирать колонки (Column) таблицы, псевдоним колонки (Alias), таблицы (Table), отображать или нет данные (Output), тип сортировки (Sort Type), сортировать или нет (Sort Order), фильтры (Filter).
- ПанельSQL(SQLpanel). Показывает оператор SQL, используемый для определения данного представления. SQL Server генерирует этот оператор SQL, когда вы перетаскиваете элементы панели схемы и выбираете колонки в панели сетке.
- Панель результатов (Resultspanel). Показывает строки, считанные из представления. Эта информация позволяет вам понять, как выглядят данные.

Помимо этих четырех панелей есть кнопка группировки на панели инструментов . После нажатия на нее в панели сетка (Grid panel) появиться новая колонка Group By (Группировка).
Создадим представление выводящее работников дата рождения которых позднее 1930 года. Вывести фамилии работников и их дата рождения.
- Добавим в представление нужные таблицы, а именно таблицу работники (Employees);
- Выберем, что хотим вывести на экран;
- Установим псевдонимы для колонок;
- Отсортируем данные по фамилии (LastName);
- Создадим фильтр по полю день рождения (BirthDate) > ’01.01.1930’.
Результат работы представлен на рисунке 5.4.

Рисунок 5.4 – Готовое представление
В Панель SQL видим сформированный sql-код. Содержание типичное для подобного запроса. Есть несколько моментов:
- Строка TOP (100) PERCENT говорит, что все данные будут представлены.
- Помимо указания таблицы указывается также схема данных.
- Поле день рождения (BirthDate) имеет тип данных DataTime (т.е. сразу указывается дата и время в одном поле) и американский стиль представления даты (ГГГГ-ММ-ДД). Мы же к этому полю обратились указав фильтр > ’01.01.1930’ без преобразования. Все преобразования связанные с изменением типа и представления взял на себя SQL Server. Поэтому видим в строке в условия также код конвертации. (BirthDate > CONVERT(DATETIME, ‘1930-01-01 00:00:00’, 102))
Можем использовать не одну таблицу, а сразу две и более, также можно использовать уже ранее созданное и сохраненное представление.
Создание представления с помощью кода на T-SQL
Синтаксис оператора CREATE VIEW:
CREATE VIEW имя представления [(колонка, колонка. )]
[WITH ENCRYPTION]
ваш оператор SELECT
[WITH CHECK OPTION]
Создавая представление, можно активизировать два средства, которые изменяют поведение представления. Для активизирования этих средств нужно включить в оператор T-SQL ключевые слова WITH ENCRYPTION и/или WITH CHECK OPTION.
Ключевое слово WITH ENCRYPTION указывает, что определение представления (оператор SELECT, определяющий представление) должно шифроваться.
Ключевое слово WITH CHECK OPTION указывает, что операции модифицирования данных, применяемые к представлению, должны отвечать критериям, содержащимся в операторе SELECT.
