![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ссылочная целостность [D5, D6, IB6.x]
Johnmen © (2002-11-26 12:57:00)Любопытное наблюдение (сделанное для IB6, хотя для других клонов, думаю, что так же) :
Созданный констрейнт FK с указанием каскадного удаления начинает обслуживаться системным триггером AFTER DELETE.
Вопрос - почему же по умолчанию он, триггер, именно AFTER, а не BEFORE ? Может в этом есть некий глубокий смысл ?
А то получается, что мой триггер на B/A DELETE для детальной таблицы, учитывающий соответствующую мастер запись не работает как надо, естественно, т.к. она уже удалена на этот момент :).
Простой выход из ситуации прост - переопределить системный триггер на AFTER DELETE. Но вопрос (см.выше) остался...
Alexandr (2002-11-27 07:48:00) [1]не доверяю я этим системным триггерам.
поэтому никаких check, default, delete cascade, вычисляемых полей и прочих.
То их не изменишь, то они глючат, то они восстанавливаться из бакупа не хотят...
Только триггеры.
Johnmen (2002-11-26 17:02:00) [2]>petr_v_a © (26.11.02 16:48)
Логично, черт возьми ! Благодарю !
Резюме - либо мастер видит детали, либо наоборот. Третьего, понятно, не дано...
petr_v_a (2002-11-26 16:48:00) [3]Скорее всего, чтобы Ваш триггер B/А DELETE на мастер-таблице видел записи в детальной