3. Даны таблицы Блюдо и Компонент. Создать триггер,
обрабатывающий изменение стоимости одного
компонента в таблице Компонент. При этом в таблице
Блюдо должна измениться стоимость соответствующего
блюда.
CREATE TRIGGER trig_upd
ON Компонет FOR UPDATE
AS
Выберите операторы для продолжения текста триггера.
DECLARE @b_i VARCHAR(20),@b_d VARCHAR(20),
@s_i MONEY,@s_d MONEY
SELECT @b_i=Название_блюда, @s_i=Стоимость_компонент
FROM inserted
SELECT @b_d=Название_блюда, @s_d=Стоимость_компонент
FROM deleted
UPDATE Блюдо SET Стоимость_блюда= Стоимость_блюда-@s_d
WHERE Название_блюда=@b_d
UPDATE Блюдо SET Стоимость_блюда= Стоимость_блюда+@s_i
WHERE Название_блюда=@b_i
UPDATE Блюдо SET Стоимость_блюда=Стоимость_блюда
deleted.Стоимость_компонента
WHERE Название_блюда=deleted.Название_блюда
UPDATE Блюдо SET Стоимость_блюда=Стоимость_блюда+
inserted.Стоимость_компонента
WHERE Название_блюда=inserted.Название_блюда
UPDATE Блюдо SET Стоимость_блюда=Стоимость_блюда-
deleted.Стоимость_компонента+
inserted.Стоимость_компонента
WHERE Название_блюда=inserted.Название_блюда
UPDATE Блюдо SET Стоимость_блюда=Стоимость_блюда
(SELECT Стоимость_компонента
FROM deleted)
WHERE Название_блюда=(SELECT Название_блюда
FROM deleted)
UPDATE Блюдо SET Стоимость_блюда=Стоимость_блюда+
(SELECT Стоимость_клмпонента
FROM inserted)
WHERE Название_блюда=(SELECT Название_блюда
FROM inserted)
337
Лекция 14 Триггеры: создание и применение