в исходное состояние. После этого
1 | Коршунов Ю.М. | 49 |
3 | Трауб Дж. | 38 |
//Изменение текста представления ALTER VIEW Stepanov.Code_books_1_3 AS SELECT Books.Code_book, Books.Author, Books.Number FROM Stepanov.Books WHERE Code_book>=1 AND Code_book<=3 WITH CHECK OPTION
Теперь выполним тот же оператор UPDATE. При этом оператор завершится аварийно с выдачей сообщения "WITH CHECK OPTIPN violated for view 'Books'". Оно информирует пользователя о нарушения условия WITH CHECK OPTION для представления, созданного на базе таблицы Books.
В завершении рассуждений о представлениях приведем несколько примеров. Представление на базе таблицы и представления, выдающее номера экземпляров книг с кодом 2:
//представление на базе таблицы и представления CREATE VIEW Stepanov.Table_View AS SELECT Code_books_1_3.Code_book //для этого поля AS b_code, //вводися псевдоним b_code Copies.N_books FROM Stepanov.Copies NATURAL JOIN Stepanov.Code_books_1_3 WHERE b_code=2
Следующим является представление на базе двух таблиц с использованием арифметической функции Count (подсчет числа записей):
//представление на базе двух таблиц CREATE VIEW Stepanov.Table_table AS SELECT Books.Code_book, "COUNT"(Copies.Code_book) FROM Stepanov.Books NATURAL JOIN Stepanov.Copies GROUP BY Books.Code_book
Это представление выбирает данные о количестве экземпляров каждой книги. Тот же результат можно получить, если при помощи оператора ALTER VIEW заменить в представление Table_table базовый оператор на следующий:
/* Новый базовый оператор представления Table_table */ SELECT Code_book, Number FROM Stepanov.Books
Читателям предлагается проверить работу приведенных выше представлений.
Таким образом, использование представлений является удобным средством использования часто используемых запросов и защиты от несанкционированного доступа.