Когда есть один или несколько столбцов, которые ссылаются на другой, я борюсь за лучший способ обновить этот столбец при сохранении ссылочной целостности. Например, если у меня есть таблица меток и описаний и две записи:
Label | Description
------------------------------------
read | This item has been read
READ | You read this thing already
Теперь я не хочу этих дубликатов. Я хочу добавить в столбец ограничение, которое не допускает дублирования значений без учета регистра, как в примере. Однако у меня есть несколько строк из нескольких других таблиц, ссылающихся на «ЧИТАТЬ», одну из которых я хочу удалить.
Я знаю, что Postgres знает, какие поля других строк ссылаются на это, потому что я не могу удалить его, пока они там есть. Итак, как я могу получить любое поле, ссылающееся на это, чтобы обновить до «чтения»? Это всего лишь пример, и у меня есть несколько мест, где я хочу это сделать. Другой пример - это на самом деле первичный ключ int для нескольких таблиц, где я хочу добавить новую таблицу в качестве своего рода «базовой таблицы», которую расширяют существующие, и поэтому им всем теперь понадобятся уникальные идентификаторы, что означает обновление те, что у них есть.
Я открыт для рецептов для функций, которые я могу добавить для этого, инструменты, которые я могу использовать, или что-нибудь еще.