Триггеры в основном используются для обеспечения соблюдения бизнес-ограничений. Бизнес-ограничения могут быть реализованы в следующем порядке: целостность объекта (первичный / уникальный ключ), целостность домена (проверочное ограничение), ссылочная целостность (внешний ключ) и, наконец, триггеры. Триггеры используются для реализации бизнес-ограничений, которые являются сложными.
Триггеры похожи на хранимые процедуры, которые автоматически выполняются на основе действия манипуляции данными. «Вместо триггеров» используются для обработки данных, которые мы хотим обрабатывать сами. Вместо INSERT
, UPDATE
, DELETE
написаны на столе для изучения данных и принятия необходимых действий самостоятельно.
Например. Если вы не хотите, чтобы DELETE
происходило с таблицей, и хотите отслеживать пользователей, которые пытаются удалить данные из таблицы. Мы можем написать INSTEAD OF TRIGGER
и записать информацию currentuser
в таблицу аудита.
Например. Если вы хотите бросить пользовательские сообщения для действий пользователя. В расписании экзамена, если пользователь пытается сдать экзамен в выходные дни, мы можем добавить специальное сообщение «Это выходные. Отдых»
Например. Если у нас есть представление, определенное для нескольких таблиц, и на него пробуется вставка, мы можем вместо триггера выполнить соответствующую вставку в базовых таблицах.