Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также

Структуризированный язык запросов (SQL)

Глава 4. Предложения модификации данных SQL

4.1. Особенности и синтаксис предложений модификации
4.2. Предложение DELETE
4.3. Предложение INSERT
4.4. Предложение UPDATE
4.5. О конструировании предложений модификации

4.4. Предложение UPDATE

Изменить название блюда с кодом БЛ=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 Продукты
SET ПР = 20 SET
WHERE ПР = 13;
UPDATE Состав
ПР = 20
WHERE ПР = 13;
UPDATE Поставки
SET ПР = 20 SET
WHERE ПР = 13;
UPDATE Наличие
ПР = 20
WHERE ПР = 13;

К сожалению в единственным запросе невозможно обновить более одной таблицы, а так как код продукта входит в четыре таблицы, то пришлось выдать четыре сходных запроса. Это может привести к противоречию базы данных (нарушению целостности по ссылкам), поскольку после выполнения первого предложения таблицы Состав, Поставки и Наличие ссылаются на уже несуществующий продукт. База становится непротиворечивой только после выполнения четвертого запроса.











helloworld.ru © 2001-2021
Все права защищены