Базы данных: 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
 

Hosted by uCoz