Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Часть 3. Модификация данных через представление ⇐ ПредыдущаяСтр 2 из 2
Задание 11. Данные, предъявляемые пользователю через представление, могут изменяться с помощью команд модификации DML, но при этом фактическая модификация данных будет осуществляться не в виртуальной таблице-представлении, а в соответствующей базовой таблице.
Сначала выполните обычный запрос на обновление USE Торговая_фирма GO UPDATE Продажи SET Количество_ед_товара = 20 WHERE Количество_ед_товара = 10
Затем внесите изменения в таблицу Продажис помощьюпредставления Товары_Количество_2
USEТорговая_фирма GO INSERT INTO Товары_Количество_2 VALUES ('Вишня', 90, 20.04.2010) Попытка внести изменения будет неудачной, поскольку представление определено на нескольких таблицах. Часть 4. Примеры проверки данных, вставляемых в таблицы с помощью представлений (ключевое слово WITH CHECK OPTION)
Задание 12. 1. Создайте представление, отображающее поставщиков из заданных городов USEТорговая_фирма GO CREATE VIEW Поставщики_V AS SELECT Название_фирмы FROM Поставщики WHERE Город LIKE 'Мос%' OR Город LIKE 'Саратов%' WITH CHECK OPTION
2. Выполните оператор SELECT * FROM Поставщики_V Получите список поставщиков из Москвы и Саратова. 3. Теперь предпримем попытку обновить одну из строк с помощью этого представления – внести в таблицу поставщика из города с названием, отличным от допустимых значений, например, из Твери: USE Торговая_фирма GO UPDATE Поставщики_V SET Город = 'Астрахань' WHEREID_Поставщика = 1
Посмотрите, к чему приводит попытка выполнить этот оператор. Как просмотреть коды представления Можно воспользоваться процедурой sp_helptext. Пример 13. Exec sp_helptext Поставщики_V Удаление представлений Для удаления представления используется стандартная конструкция DROP VIEW <имя представления > [,<имя представления 2 >[,…n]]
Пример 14. Связывание представления c таблицей.
Create view А as select Название_Товара, Категория from Товары ‘--------------------------------------------------------------------------------------- Create view В as select Категория_товара, Название_товара from А inner joinКатегории_товаров on Категории_товаров.id_категории = А.Категория ----------------------- select * from В
Замечание. При связке представления с таблицей в преставлении должно находиться поле с внешним ключом!
Замечание.Запросы, содержащие вычисление итоговых результатов со словом COMPUTE, в представления не включаются (попытки их использования приводят к диагностике об ошибке).
Задания для самостоятельной работы 1. В представлении покажите наиболее активных клиентов. Задайте имена выводимым столбцам. 2. Создать представление, позволяющее получать сведения о продажах за прошлый год. 3. Приведите пример, в котором используется соединение представления с другими таблицами базы данных 4. Создайте представление с группировкой и агрегирующими функциями. 5. Создайте представление с вычислениями. |
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 617. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |