Главная / Основы SQL / В таблице Граф представлен график сетевого планирования: CREATE TABLE Граф (номер INT PRIMARY KEY, --номер работы нач_соб INT, --начальное событие кон_соб INT, --конечное событие длит INT) --длительность работы В таблице, моделирующей сетевой график, кажд

В таблице Граф представлен график сетевого планирования:

CREATE TABLE Граф (номер INT PRIMARY KEY, --номер работы нач_соб INT, --начальное событие кон_соб INT, --конечное событие длит INT) --длительность работы

В таблице, моделирующей сетевой график, каждая запись соответствует некоторой работе, связывающей два события: начальное и конечное. Например:

НомерНач_собКон_собДлит
1 2 3 4 5 6 7 8 9 101 1 1 3 4 3 2 5 5 62 4 3 4 5 5 6 6 7 75 12 3 6 2 8 5 4 7 2

Реализуем в виде триггеров ряд правил для обеспечения целостности данных в подобной сетевой структуре. Начальное событие графика (исток) обозначено цифрой "1". Если изменяется только номер конечного события и это изменение приводит к появлению параллельной работы, отменить изменение.

CREATE TRIGGER trig_upd ON Граф FOR UPDATE AS

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

вопрос

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

IF (COLUMNS_UPDATED() ^ 4)=4    BEGIN       DECLARE @e1 INT, @e2 INT,@n INT       SELECT @n=номер, @e1=нач_соб, @e2=кон_соб       FROM inserted       IF EXISTS(SELECT *          FROM Граф          WHERE номер<>@n AND нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN    END
IF UPDATE(кон_соб)    BEGIN       DECLARE @e1 INT, @e2 INT,@n INT       SELECT @n=номер, @e1=нач_соб, @e2=кон_соб       FROM inserted       IF EXISTS(SELECT *          FROM Граф          WHERE номер<>@n AND нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN    END
      DECLARE @e1 INT, @e2 INT,@n INT       SELECT @n=номер, @e1=нач_соб, @e2=кон_соб       FROM inserted IF UPDATE(кон_соб)       IF EXISTS(SELECT *          FROM Граф          WHERE номер<>@n AND нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN
      DECLARE @e1 INT, @e2 INT,@n INT       SELECT @e1=нач_соб, @e2=кон_соб       FROM inserted IF (COLUMNS_UPDATED() & 4)=4       IF EXISTS(SELECT *          FROM Граф          WHERE нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN
Сложность вопроса
90
Сложность курса: Основы SQL
60
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень нехитрый вопрос по интуиту.
08 май 2020
Аноним
Я завалил зачёт, какого рожна я не увидел данный сайт с решениями по интуит до зачёта
02 июл 2017
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.