Пример 2.
Использование триггера для реализации
ограничений на значение. В добавляемой
в таблицу Sotrudniki
записи стаж работы должно быть
не больше, чем возраст человека. Команда
вставки записи в таблицу Sotrudniki
может быть, например, такой:
Создаваемый триггер должен
отреагировать на ее выполнение следующим
образом: необходимо отменить команду,
если стаж работы сотрудника больше его
возраста. Представленный триггер
настроен на обработку только одной
добавляемой записи.
Создадим новый триггер и напишем
следующий код:
Сделаем теперь так, чтобы этот же самый
триггер срабатывал не только на
добавления, но и на изменения (т.е.
обновления) записи таблицы. Для этого
откроем созданный триггер на изменения
Триггер откроется на изменения, об этом
будет свидетельствовать слово ALTER
вместо CREATE перед именем
триггера. Допишем в коде, через запятую,
после слова INSERT слова
UPDATE.
Выполните запрос на обновления триггера.
Теперь, при некорректном вводе данных
будет появляться следующее сообщения:
Пример 4.
Напишем триггер, который
при выполнении команды удалить запись
из таблицы Sotrudniki,
не удаляет ее, а помечает как удаленную.
Добавим в таблицу Sotrudniki
новое поле Is_deleted,
которое будет принимать значение True
или False
(подлежит сотрудник удалению или нет).
Укажем ему тип bit и значение по умолчанию
0 (False).
Создадим новый триггер для
таблицы Sotrudniki
со следующим кодом.