Разработка приложений баз данных для СУБД Sybase SQL Anywhere





Создание представлений - часть 6


Внешний вид закладки Permissions очень похож на одноименную закладку окна свойств таблицы (). Работа с этими закладками осуществляется одним и тем же способом.

Для достижения того же результата в утилите ISQL требуется выполнить следующий SQL-оператор:

/* Установка привилегии SELECT для представления Code_books_1_3 пользователю Popova */ GRANT SELECT ON Stepanov.Code_books_1_3 TO Popova

Теперь пользователь Popova может использовать оператор SELECT для представления Stepanov.Code_books_1_3.

После применения к представлениям операторов INSERT и DELETE количество записей в них изменяется. Тоже самое может произойти при выполнении оператора UPDATE для представлений, использующих указание выборки данных WHERE в базовом операторе. Это может произойти в том случае, когда в результате модификации записей их содержимое перестанет удовлетворять условию WHERE - условию включения данных записей в представление.

Изменение числа записей после операторов INSERT и DELETE очевидно, а после WHERE нет. Пользователь может не иметь никакой информации об условии WHERE. Для контроля за такой ситуации в тексте оператора в конец текст оператора CREATE/ ALTER VIEW следует добавить фразу WITH CHECK OPTION. Тогда при попытке модификации записей представления, которые могут привести к их исключению из ее состава, выдается сообщение о возникновении исключительной ситуации. Покажем это на примере.

Проведем модификацию представления Code_books_1_3. Для этого выполним оператор:

// Модификация представления UPDATE Stepanov.Code_books_1_3 SET Code_book = 100 WHERE Code_book = 2

Исходное и модифицированное содержимое этого представления приведено в табл. 21, 22.




Содержание  Назад  Вперед