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


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