Удаление строки в таблице вызывает удаление в другой таблице - PullRequest
2 голосов
/ 08 апреля 2019

У меня странная проблема.Когда удаление выполняется в таблице, я получаю удаление в другой таблице!

Я выполнил эту команду для поиска всех триггеров в базе данных, но не нашел ни одного.

select * from ALL_TRIGGERS;

Как я могу исследовать эту проблему?

1 Ответ

4 голосов
/ 08 апреля 2019

Может быть, есть ограничение внешнего ключа между двумя таблицами? Если это так, определяется ли он как УДАЛЕННЫЙ КАСКАД?

В этом запросе будут найдены внешние ключи, ссылающиеся на первичный или уникальный ключ в YOUR_TABLE_NAME (это таблица, на которую вы нацелились при удалении).

select r.table_name
       , r.constraint_name as foreign_key
       , r.delete_rule
from all_constraints r
     join all_constraints p
     on p.owner = r.r_owner and p.constraint_name = r.r_constraint_name
where r.constraint_type = 'R'
and p.constraint_type in ('U', 'P')
and p.table_name = 'YOUR_TABLE_NAME'
/

DELETE_RULE покажет вам каскадное удаление родительской записи в зависимые записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...