Брок
Триггер базы данных - это процедурный код, который автоматически выполняется в ответ на определенные события в определенной таблице в базе данных. Триггеры могут ограничивать доступ к определенным данным, вести журнал или проверять изменения данных.
Есть два класса триггеров, это либо «триггеры строки», либо «триггеры операторов». С помощью триггеров строк вы можете определить действие для каждой строки таблицы, в то время как триггеры операторов выполняются только один раз для каждого оператора INSERT, UPDATE или DELETE. Триггеры нельзя использовать для аудита извлечения данных.
Каждый класс может быть нескольких типов. Существуют триггеры BEFORE и AFTER, которые определяют время выполнения триггера. Также существует триггер INSTEAD OF, который является условным триггером, который срабатывает вместо триггерного оператора. Однако «триггер INSTEAD OF» доступен только для представлений.
Обычно существует три инициирующих СОБЫТИЯ, которые вызывают срабатывание триггера:
событие INSERT (когда в базу данных вставляется новая запись).
UPDATE событие (при изменении записи).
Событие DELETE (при удалении записи).
Стандарт SQL: 2003 требует, чтобы триггеры давали программистам доступ к записи переменных с помощью синтаксиса, такого как ССЫЛКА НА НОВОЕ КАК n. Например, если триггер отслеживает изменения в столбце зарплаты, можно написать триггер, подобный следующему: