Основы языка TRANSACT SQL. Казакова И.А. - 140 стр.

UptoLike

Составители: 

139
BEGIN
UPDATE Groups
SET Kol_stud=Kol_stud+1
WHERE ID_Group=@ID
PRINT 'студент успешно добавлен в данную группу'
END
ELSE
BEGIN
ROLLBACK TRANSACTION
PRINT 'Группа переполнена!Выберите другую группу!'
END
END
END;
Пример 107. Создать триггер для обработки операции удале-
ния записи из таблицы Students, например, такой команды:
DELETE FROM Students WHERE ID_Student=82;
При удалении студента из группы количество студентов в
группе уменьшается на единицу:
CREATE TRIGGER TriggerDelete
ON Students FOR Delete
AS
DECLARE @ID INT, @ID_Grup INT
IF @@ROWCOUNT=1
BEGIN
SELECT @ID=ID_Group
FROM DELETED
UPDATE Groups
SET Kol_stud=Kol_stud-1
WHERE ID_Group=@ID
PRINT 'студент успешно удален из группы'
END;
          BEGIN
          UPDATE Groups
          SET Kol_stud=Kol_stud+1
          WHERE ID_Group=@ID
          PRINT 'студент успешно добавлен в данную группу'
      END
      ELSE
      BEGIN
      ROLLBACK TRANSACTION
      PRINT 'Группа переполнена!Выберите другую группу!'
      END
      END
      END;
     Пример 107. Создать триггер для обработки операции удале-
ния записи из таблицы Students, например, такой команды:
     DELETE FROM Students WHERE ID_Student=82;
     При удалении студента из группы количество студентов в
группе уменьшается на единицу:
     CREATE TRIGGER TriggerDelete
      ON Students FOR Delete
      AS
      DECLARE @ID INT, @ID_Grup INT
      IF @@ROWCOUNT=1
      BEGIN
          SELECT @ID=ID_Group
          FROM DELETED
      UPDATE Groups
      SET Kol_stud=Kol_stud-1
      WHERE ID_Group=@ID
      PRINT 'студент успешно удален из группы'
      END;



                             139