Дана таблица Разговор. Разработать триггер, который выполняется вместо изменения продолжительности одного разговора. Выполнить изменение продолжительности только в том случае, если общая продолжительность телефонных соединений абонента, в разговоре которого меняется продолжительность, не превышает 300 мин.
CREATE TRIGGER trig_upd ON Разговор INSTEAD OF UPDATE AS
Выберите операторы для продолжения текста триггера.
IF SUM(inserted.продолжительность WHERE фамилия=inserted.фамилия )<=300 UPDATE Разговор SET продолжительность= inserted.продолжительность WHERE Код_Разговора=inserted.Код_Разговора
IF (SELECT SUM(продолжительность) FROM Разговор, inserted GROUP BY Фамилия HAVING фамилия=inserted.фамилия) <=300 UPDATE Разговор SET продолжительность=(SELECT продолжительность FROM inserted) WHERE Код_Разговора=(SELECT Код_Разговора FROM inserted)
DECLARE @f VARCHAR(20), @d INT,@sd INT, @k INTSELECT @k=Код_Разговора,@f=фамилия, @d=продолжительность FROM insertedSELECT @sd=SUM(продолжительность)FROM РазговорGROUP BY Фамилия HAVING фамилия=@fIF @sd<=300 UPDATE Разговор SET продолжительность=@d WHERE Код_Разговора=@k(Верный ответ)
IF (SELECT SUM(продолжительность) FROM Разговор) <=300 UPDATE Разговор SET продолжительность=(SELECT продолжительность FROM inserted) WHERE Код_Разговора=(SELECT Код_Разговора FROM inserted)