Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Последовательность
Последовательность
Для любой комбинации фаза/событие Firebird позволяет использовать множество триггеров. Вероятно, существует какое-то практическое ограничение, однако можно с уверенностью сказать, что вы можете создавать столько триггеров, сколько вам нужно с использованием целых чисел от 0 до 32 767. Последовательный номер по умолчанию (POSITION) ноль. Хорошей практикой является задание для триггера порядка выполнения, однако явное указание последовательности не является обязательным. Если присутствуют последовательные номера, триггеры будут выполняться в возрастающем порядке. Числа не должны быть уникальными, последовательность может иметь разрывы.
Набор триггеров для фазы/события со значением по умолчанию POSITION 0 будет выполняться в алфавитном порядке их имен. То же самое можно ожидать, если вы имеете группу триггеров, имеющих один и тот же не нулевой последовательный номер.
Следующий пример демонстрирует, как будут выполняться четыре триггера изменения (UPDATE) для таблицы ACCOUNT:
CREATE TRIGGER BU_ACC0UNT5 FOR ACCOUNT
ACTIVE BEFORE UPDATE POSITION 5 AS ...
CREATE TRIGGER BU_ACCOUNTO FOR ACCOUNT
ACTIVE BEFORE UPDATE POSITION 0 AS ...
CREATE TRIGGER AU_ACCOUNT5 FOR ACCOUNT
ACTIVE AFTER UPDATE POSITION 5 AS ...
CREATE TRIGGER AU_ACCOUNT3 FOR ACCOUNT
ACTIVE AFTER UPDATE POSITION 3 AS ...
Кто-то изменяет некоторые строки в таблице ACCOUNT:
UPDATE ACCOUNT SET С ='CANCELED' WHERE C2 = 5;
Вот последовательность событий для каждой изменяемой строки:
1. Выполняется триггер BU_ACCOUNTO.
2. Выполняется триггер BU_ACCOUNTS.
3. Новая версия записи записывается на диск.
4. Выполняется триггер AU_ACCOUNT3.
5. Выполняется триггер AU_ACCOUNT5.
- Правильная стратегическая последовательность
- 4.6. Последовательность документов
- Резюме: последовательность обработки исключений
- Часть II Последовательность действий
- Глава 3 Обязательство и последовательность
- Расширение спектра с прямой последовательностью (DSSS)
- Последовательность обновления
- Эвристическое правило номер 5: Последовательность
- 0.3 Логика и последовательность освоения СПО
- 13.3.4. Последовательность выполнения клиентских сценариев
- Фаза, событие и последовательность
- Последовательность проработки системы