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;

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

4.3.3 | Содержание | 4.5