Я только что столкнулся с ситуацией, когда у меня есть таблица, первичный ключ которой используется в качестве внешнего ключа в многочисленных таблицах. Я хочу реализовать функцию удаления так, чтобы при удалении записи из родительского элемента, каждая связанная запись из зависимых таблиц должна быть удалена.
Это довольно простой сценарий и в значительной степени охвачен определением отношений PRIMARY KEY - FOREIGN KEY.
Решение, которое я нашел для этого, добавляет
НА УДАЛЕННОМ КАСКАДЕ
команда в каждом объявлении внешнего ключа.
Для небольшого количества столов это будет хорошо. Но если количество зависимых таблиц станет большим, добавить команду в каждую таблицу будет утомительно. Кроме того, если это будет пропущено в любой из дочерних таблиц, удаление не будет выполнено.
Итак, мой вопрос в основном таков: Есть ли способ, которым мы можем указать любую подобную (или другую) команду для родительской таблицы вместо дочерней таблицы, чтобы БД знала, что эта операция должна быть применена для всех дочерних таблиц автоматически?
Я знаю, что это может звучать как расплывчатый вопрос, но мне действительно любопытно и я хочу знать. Просто для информации я использую PostgreSQL 9.3
Предложения и комментарии приветствуются. Заранее спасибо.