Составители:
Рубрика:
UPDATE Работы
SET Цена = Цена+0.3
WHERE Работы.Период_с > 30.04.03 AND Ид_Сотр IN
(SELECT Ид_Сотр
FROM Сотрудник, Отдел_ Сотрудники
WHERE Сотрудник. Ид_Сотр = Отдел_ Сотрудник.
Ид_Сотр AND Отдел_ Сотрудники. Ид_Сотр <> NULL);
По определению инструкция UPDATE может производить обновление
данных только в одной таблице, что на практике приводит к нежелательным
эффектам, если возникает необходимость модифицировать информацию в
нескольких связанных таблицах.
Пусть необходимо изменить идентификатор (номер) Ид_Вида в таблице
ВИД_РАБОТЫ (рис. 2.9) например 10 на 16. Атрибут с именем Ид_Вида встречается
также в таблице РАБОТЫ (рис. 2.8). Поэтому изменение, производимое в таблице
ВИД_РАБОТЫ, должно быть отражено в таблице РАБОТЫ.
UPDATE Вид_ работы
SET Ид_Вида = 16
WHERE Ид_Bида = 10;
UPDATE Работы
SET Ид_Вида = 16
WHERE Ид
_Вида = 10;
В интервале времени между первым и вторым оператором UPDATE база данных
будет находиться в противоречивом состоянии (нарушается целостность по ссылкам),
поскольку после выполнения первой транзакции таблица РАБОТЫ (рис. 2.8) ссылается
Страницы
- « первая
- ‹ предыдущая
- …
- 141
- 142
- 143
- 144
- 145
- …
- следующая ›
- последняя »
