Подтвердить что ты не робот

Как заставить оракул выполнять каскадное удаление без ограничений на падение/воссоздание

У меня есть родительская таблица, в которой есть дочерние таблицы dosen, ссылающиеся на нее. Эти дочерние таблицы, в свою очередь, имеют другие дочерние таблицы, ссылающиеся на них. И так далее.

Мне нужно удалить строку из основной родительской таблицы, которая полностью каскадирует ее.

Ограничения капли/воссоздания повсюду, чтобы иметь их "ВКЛЮЧЕН КАСКАДОМ", не является вариантом

Прохождение всех из них и удаление дочерних строк вручную - это кошмар.

Любые другие варианты?

4b9b3361

Ответ 1

Это либо ограничения, либо набор отдельных удалений.

Вы можете написать процедуру "умного удаления", которая исследует структуру таблицы и генерирует серию удалений по ней, но это, скорее всего, будет большим количеством работы и скорее кошмаром, чем написанием отдельных удалений. И вам придется иметь эти постоянные для работы, которые на самом деле не всегда желательны.

Оператор DELETE не имеет параметров, чтобы сделать его каскадным.

Ответ 2

Я решил эту проблему в оракуле с помощью приложения, которое я сделал специально, чтобы объединить данные из одной ветки в другую - целевую, а затем удалить исходный код.

https://sites.google.com/site/keytreechanger/Home https://sites.google.com/site/keytreechanger/Home/screenshots

цитирование

Учитывая эту ошибку, например: клиент Pedrus Root (внутреннее представление # R = 111) совпадает с Petrus Root (# R = 222). Переместите данные под 222 на 111, а затем удалите ветвь 222.
KTC собирает все данные относительно этого случая (и следующие несколько дел, которые необходимо решить), в разумном порядке из всех соответствующих таблиц базы данных.
Алгоритм выполняет поиск только там, где это необходимо, и используя все доступные ключевые компоненты.
Резервная копия всех данных локально поддерживается для целей аудита. Локальный репозиторий прозрачно развивается, чтобы вносить изменения в определения таблиц и полей.

Пользователь Power визуально проверяет дерево таблицы/отношения и может просматривать/печатать/редактировать данные в любой таблице и, возможно, изменять предполагаемое действие (вырезать, вырезать и вставить или сделать).
Наконец, KTC генерирует сотни строк вставок, обновлений и удалений корректирующего кода для решения этого конкретного случая, перечисленных в подходящем порядке, заканчивающемся с помощью     удалить из rootTable, где # R = 222.
Затем я применяю код с пользователями в Интернете.

В вашей ситуации фильтр должен удалить все строки, кроме удаленных.

AFAIK не существует эквивалентного приложения на рынке.