powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Три отдельных триггера или один общий ???
2 сообщений из 2, страница 1 из 1
Три отдельных триггера или один общий ???
    #32224585
koff4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Было у меня три триггера на пересчет итогов:

After INSERT
execute procedure UPDATE_CLISUPPL NEW.CLIDOGID, 0.00, NEW.SUPPLSUMM;

After Update
execute procedure UPDATE_CLISUPPL OLD.CLIDOGID, OLD.SUPPLSUMM, 0.00 ;
execute procedure UPDATE_CLISUPPL NEW.CLIDOGID, 0.00, NEW.SUPPLSUMM;

After Delete
execute procedure UPDATE_CLISUPPL NEW.CLIDOGID, 0.00, NEW.SUPPLSUMM;

Посмотрел я на них и подумал: "Раз они так похожи - не сделать ли один общий триггер".

AFTER INSERT OR UPDATE OR DELETE
execute procedure UPDATE_CLISUPPL OLD.CLIDOGID, OLD.SUPPLSUMM, 0.00 ;
execute procedure UPDATE_CLISUPPL NEW.CLIDOGID, 0.00, NEW.SUPPLSUMM;

В процедуре сразу контролируется
IF(CLIDOGID IS NULL) THEN EXIT;

Плюсы очевидны - в три раза меньше писать, при траблах одним махом деактивировать...
А могут ли возникнуть какие-то подводные камни при использовании объединеного триггера ???
...
Рейтинг: 0 / 0
Три отдельных триггера или один общий ???
    #32225272
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самая большая проблема - обратная совместимость. Если разрабатываешь под FB15, то он не для всех платформ ещё есть, если я не ошибаюсь... То же самое с дятла на FB1 не перенесётся, если под юнихом будешь сервер держать.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Три отдельных триггера или один общий ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]