Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Триггеры

Триггеры

Триггер является подпрограммой, связанной с таблицей или просмотром, которая автоматически выполняет некоторые действия, когда строка таблицы или просмотра добавляется, изменяется или удаляется.

Триггер никогда не вызывается напрямую. Когда приложение или пользователь пытается выполнить INSERT, UPDATE или DELETE для строки таблицы, триггеры, связанные с этой таблицей, вызываются автоматически. Триггеры могут использовать исключения и события. Они также могут вызывать хранимые процедуры.

Триггеры являются мощным инструментом в различных вариантах использования. Перечислим способы использования триггеров.

* Для выполнения коррелированных изменений при выполнении оператора DML с таблицей. Например, триггер может добавлять записи во внутренний или внешний протокол изменений. Триггер AFTER DELETE (после удаления) может добавить строку в таблицу истории.

* Для проверки исходных данных.

* Для преобразования данных, например, для автоматического конвертирования входного текста в буквы верхнего регистра или для получения значения автоинкрементного ключа из генератора.

* Для информирования приложений об изменениях базы данных с использованием средств сообщения о событиях (event alerter).

* Для выполнения пользовательских каскадных изменений целостности данных.

* Чтобы сделать просмотр только для чтения изменяемым. Подробности см. в разд. "Преобразование просмотров только для чтения в изменяемые"главы 24.

Триггеры хранятся как объекты базы данных так же, как хранимые процедуры и исключения. Объявленные как ACTIVE, они остаются активными, пока не будут деактивированы оператором ALTER TRIGGER или удалены из базы данных с помощью DROP TRIGGER.

Триггер никогда не вызывается явно - активный триггер выполняется автоматически, когда заданная операция DML выполняется для его таблицы.

Оглавление книги


Генерация: 0.081. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз