В первой строке кода создается новый триггер с именем DELCHECK для таблицы STUDENTS, активизирующийся при удалении записи. Следующим шагом является определение переменной @X, которая будет содержать значение поля Nom_Zach удаляемой записи. Затем с помощью оператора SELECT данной переменной присваивается значение поля Nom_Zach удаляемой записи, находящейся в таблице DELETED. С помощью оператора EXISTS проверяется наличие записей в таблице USP, у которых в поле Nom_Zach находится значение @X. Если такие записи найдены, то система выполняет их удаление.
Пример 3. Триггер осуществляет проверку введенной в таблицу USP оценки.
DECLARE @Mark
SELECT @Mark = Mark FROM INSERTED
IF (@Mark<2)Or (@Mark>5)
RAISERROR ('оценка должна находиться в диапазоне от 2 до5’)
Пример 4. Триггер для увеличения стипендии на 10% тем студентам, которые сдали зачет по спецкурсу (код предмета PKod=1278).
DECLARE @X int
DECLARE @Z int
DECLARE @P int
DECLARE @Y varchar(10)
select @X= Nom_Zach From INSERTED
select @Y= Mark From INSERTED
select @Z= PKodFrom INSERTED
select @P= Nom_Zach From USP
Where Nom_Zach = @X
if(@Y= 'зачтено' AND @Z=1278)
SET Stip = Stip*1.1
WHERE Nom_Zach=@P
Следующие триггеры созданы для БД “Продажа объектов недвижимости”. Реляционная модель данных приведена на рисунке 8.
Пример 5.Создать триггер для уменьшения цены квартиры на 5%, если при добавлении записи в таблицу VIEWING в поле COMMENT занесено значение “требует ремонта”.