Главная / Основы SQL / Дана таблица Разговор. Разработать триггер, который выполняется вместо изменения продолжительности одного разговора. Выполнить изменение продолжительности только в том случае, если общая продолжительность телефонных соединений абонента, в разговоре которо

Дана таблица Разговор. Разработать триггер, который выполняется вместо изменения продолжительности одного разговора. Выполнить изменение продолжительности только в том случае, если общая продолжительность телефонных соединений абонента, в разговоре которого меняется продолжительность, не превышает 300 мин.

CREATE TRIGGER trig_upd ON Разговор INSTEAD OF UPDATE AS

Выберите операторы для продолжения текста триггера.

вопрос

Правильный ответ:

DECLARE @f VARCHAR(20),       @d INT,@sd INT,       @k INT SELECT @k=Код_Разговора,@f=фамилия, @d=продолжительность FROM inserted SELECT @sd=SUM(продолжительность) FROM Разговор GROUP BY Фамилия HAVING фамилия=@f IF @sd<=300    UPDATE Разговор SET продолжительность=@d    WHERE Код_Разговора=@k
IF (SELECT SUM(продолжительность) FROM Разговор, inserted GROUP BY Фамилия    HAVING фамилия=inserted.фамилия) <=300    UPDATE Разговор SET продолжительность=(SELECT продолжительность          FROM inserted)    WHERE Код_Разговора=( SELECT Код_Разговора FROM inserted)
IF SUM(inserted.продолжительность       WHERE фамилия=inserted.фамилия )<=300    UPDATE Разговор SET продолжительность= inserted.продолжительность    WHERE Код_Разговора=inserted.Код_Разговора
IF (SELECT SUM(продолжительность) FROM Разговор) <=300    UPDATE Разговор SET продолжительность=(SELECT продолжительность          FROM inserted)    WHERE Код_Разговора=( SELECT Код_Разговора FROM inserted)
Сложность вопроса
57
Сложность курса: Основы SQL
60
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Спасибо за сайт
02 сен 2017
Аноним
Какой человек ищет данные ответы интуит? Это же легко
14 мар 2016
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.