Главная / Основы 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() )=2    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
IF (COLUMNS_UPDATED() & 2)=2       DECLARE @e1 INT, @e2 INT,@n INT       SELECT @e1=нач_соб, @e2=кон_соб       FROM inserted       IF EXISTS(SELECT *          FROM Граф          WHERE нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN
      DECLARE @e1 INT, @e2 INT,@n INT       SELECT @e1=нач_соб, @e2=кон_соб       FROM inserted IF UPDATE(нач_соб)       IF EXISTS(SELECT *          FROM Граф          WHERE нач_соб=@e1 AND кон_соб=@e2 )       ROLLBACK TRAN
Сложность вопроса
91
Сложность курса: Основы SQL
60
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Я провалил экзамен, какого рожна я не нашёл данный сайт с всеми ответами по интуит раньше
25 фев 2019
Аноним
Я провалил зачёт, почему я не углядел этот великолепный сайт с решениями по тестам интуит до зачёта
28 мар 2017
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.