Базы данных: SQL
Структуризированный язык запросов (SQL)
4.4. Предложение UPDATE
В.В.Кириллов, Г.Ю.Громов
4.4.1. Обновление единственной записи
Изменить название блюда с кодом БЛ=5 на Доршмак, увеличить его выход на 30 г и установить NULL-значение в столбец Труд.
UPDATE Блюда
SET Блюдо = 'Доршмак', Выход = (Выход+30), Труд = NULL
WHERE БЛ = 5;
4.4.2. Обновление множества записей
Утроить цену всех продуктов таблицы поставки (кроме цены кофе - ПА = 17).
UPDATE Поставки
SET Цена = Цена * 3
WHERE ПА <> 17;
4.4.3. Обновление с подзапросом
Установить равной нулю цену и К_во продуктов для поставщиков из Паневежиса и Аезекне.
UPDATE Поставки
SET Цена = 0, К_во = 0
WHERE ПС IN
(SELECT ПС
FROM Поставщики
WHERE Город IN ('Паневежис', 'Аезекне'));
4.4.4. Обновление нескольких таблиц
Изменить номер продукта ПА = 13 на ПА = 20.
UPDATE Продукты UPDATE Состав
SET ПА = 20 SET ПА = 20
WHERE ПА = 13; WHERE ПА = 13;
UPDATE Поставки UPDATE Наличие
SET ПА = 20 SET ПА = 20
WHERE ПА = 13; WHERE ПА = 13;
К сожалению в единственным запросе невозможно обновить более одной таблицы, а так как код продукта входит в четыре таблицы, то пришлось выдать четыре сходных запроса. Это может привести к противоречию базы данных (нарушению целостности по ссылкам), поскольку после выполнения первого предложения таблицы Состав, Поставки и Наличие ссылаются на уже несуществующий продукт. База становится непротиворечивой только после выполнения четвертого запроса.
Назад | Содержание | Далее
При перепечатке любого материала
с сайта, видимая ссылка на источник www.warayg.narod.ru
и все имена, ссылки авторов обязательны.
© 2005
|