Дана таблица со структурой, которая описывает некоторый граф:
CREATE TABLE graph(nomer INT PRIMARY KEY, --номер дуги outp INT, --номер вершины, --из которой дуга выходит inp INT) --номер вершины, --в которую дуга входит
Создать триггер, обрабатывающий удаление одной дуги, причем следует запретить удаление, если эта дуга единственная, выходящая из некоторой вершины.
CREATE TRIGGER trigON graph FOR DELETE AS
Выберите операторы для продолжения текста триггера.
DECLARE @e1 INT, @e2 INT,@n INT,@k INTSELECT @n=nomer, @e1=outp, @e2=inpFROM deletedIF (COUNT(outp) FROM graph WHERE outp=@e1)=1 ROLLBACK
DECLARE @e1 INT, @e2 INT,@n INT,@k INTSELECT @n=nomer, @e1=outp, @e2=inpFROM deleted SELECT @k=COUNT(outp) FROM graph WHERE outp=@e1IF @k=1 ROLLBACK(Верный ответ)
DECLARE @e1 INT, @e2 INT,@n INT,@k INTSELECT @n=nomer, @e1=outp, @e2=inpFROM deleted IF (SELECT COUNT(inp) FROM graph WHERE inp=@e1)=1 ROLLBACK
DECLARE @e1 INT, @e2 INT,@n INT,@k INTSELECT @n=nomer, @e1=outp, @e2=inpFROM deleted IF COUNT(outp)=1 ROLLBACK