Основы языка TRANSACT SQL. Казакова И.А. - 111 стр.

UptoLike

Составители: 

110
Однако когда информация будет добавлена, строка исчезнет
из представления, поскольку номер группы отличен от 11. Иногда
такой подход может стать проблемой, так как данные уже находятся
в таблице, но пользователь их не видит и не в состоянии выполнить
их удаление или модификацию.
Для исключения подобных моментов служит WITH CHECK
OPTION в определении представления. Фраза размещается в опре-
делении представления, и все команды модификации будут подвер-
гаться проверке.
Пример 93. Создать представление с проверкой команд моди-
фикации.
CREATE VIEW Stud4 AS
SELECT *
FROM Student
WHERE N_gr = '08ВП1';
WITH CHECK OPTION;
Для такого представления вставка значений, приведенная вы-
ше, будет отклонена системой.
Таким образом, представление может изменяться командами
модификации, но фактически модификация воздействует не на само
представление, а на базовую таблицу.
Не все представления в Transact SQL могут быть модифициро-
ваны. Представление является обновляемым одифицируемым),
если в представлении могут выполняться команды модификации.
В противном случае представление предназначено только для чте-
ния при запросе.
Критерии обновляемого представления:
основывается только на одной базовой таблице;
содержит первичный ключ этой таблицы;
не содержит DISTINCT в своем определении;
не использует GROUP BY или HAVING в своем определении;
не применяет в своем определении подзапросы;
не использует константы или выражения среди выбранных
полей вывода;
в представление должен быть включен каждый столбец таб-
лицы, имеющий атрибут NOT NULL;
оператор SELECT представления не использует агрегирую-
щие тоговые) функции, соединения таблиц, хранимые процедуры
и функции, определенные пользователем;
     Однако когда информация будет добавлена, строка исчезнет
из представления, поскольку номер группы отличен от 11. Иногда
такой подход может стать проблемой, так как данные уже находятся
в таблице, но пользователь их не видит и не в состоянии выполнить
их удаление или модификацию.
     Для исключения подобных моментов служит WITH CHECK
OPTION в определении представления. Фраза размещается в опре-
делении представления, и все команды модификации будут подвер-
гаться проверке.
     Пример 93. Создать представление с проверкой команд моди-
фикации.
     CREATE VIEW Stud4 AS
      SELECT *
      FROM Student
      WHERE N_gr = '08ВП1';
     WITH CHECK OPTION;
     Для такого представления вставка значений, приведенная вы-
ше, будет отклонена системой.
     Таким образом, представление может изменяться командами
модификации, но фактически модификация воздействует не на само
представление, а на базовую таблицу.
     Не все представления в Transact SQL могут быть модифициро-
ваны. Представление является обновляемым (модифицируемым),
если в представлении могут выполняться команды модификации.
В противном случае представление предназначено только для чте-
ния при запросе.
     Критерии обновляемого представления:
      основывается только на одной базовой таблице;
      содержит первичный ключ этой таблицы;
      не содержит DISTINCT в своем определении;
      не использует GROUP BY или HAVING в своем определении;
      не применяет в своем определении подзапросы;
      не использует константы или выражения среди выбранных
полей вывода;
      в представление должен быть включен каждый столбец таб-
лицы, имеющий атрибут NOT NULL;
      оператор SELECT представления не использует агрегирую-
щие (итоговые) функции, соединения таблиц, хранимые процедуры
и функции, определенные пользователем;
                              110