У меня есть две таблицы, object и object_data, с объектом, ссылающимся на объект_данные по внешнему ключу (отношение равно 1: 1). Для набора объектов, мне нужно обнулить свои object_data ссылки и удалить соответствующие object_data строки, например:PostgreSQL: удаление строк, ссылающихся из другой таблицы
DELETE FROM object_data WHERE id IN
(SELECT object_data_id FROM object WHERE ...);
UPDATE object SET object_data_id = NULL WHERE ...;
Проблема, ограничение внешнего ключа не позволяет удалять object_data строки, которые по-прежнему ссылается от объекта ,
Мое текущее решение считывает результаты SELECT
в список, а затем обнуляет внешние ключи, а затем удаляет строки object_data пакетами разумного размера с использованием оператора IN. Есть ли лучшее решение? Добавление столбца, ссылающегося на объект object_data на объект, не является вариантом.