Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Срабатывание триггера дочерней таблицы


Автор: m9yt 16.6.2016, 17:40
Добрый день!
Есть 2 связанные таблицы:

alter table Table2
add constraint Table2_Table1 foreign key (KEY)
references Table1 (KEY)
on delete cascade;

На дочерней таблице Table2 повешен триггер before delete.
При удалении записей из родительской таблицы Table1, ссылок на которые нет в таблице Table2, происходит срабатывание вышеуказанного триггера.
Можно как-то избежать этого?

Автор: Zloxa 16.6.2016, 22:37
Я так полагаю - речь о before statement триггере. Этот тип триггера ничего не знает о строках, его инициирует начало работы комадны delete. Когда, в процессе выполнения операции удаления становится ясно какие именно строки будут подвержены удалению, для каждой строки инициируется before row trigger.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)