Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Утилита для отображения/редактирования каскадных связей / 4 сообщений из 4, страница 1 из 1
30.11.2006, 18:09
    #34168467
Утилита для отображения/редактирования каскадных связей
Предположим, у меня есть база с таблицами A, B и C. Таблица B ссылается на A через внешний ключ, таблица C - на таблицу B.

Теперь я хочу удалить некоторую строку из таблицы A. Однако я, во-первых, не знаю заранее, есть ли на нее ссылки (это в примере таблицы только три, а так - может быть два десятка). Во-вторых, даже если я знаю это, то мне хотелось бы для каких-то записей сделать аналог ON DELETE SET NULL, а для каких-то - ON DELETE CASCADE.

Идем дальше. Вместо того, чтобы просто удалить строку x из A и все связи на нее, я хотел бы "перекинуть" все ссылки на нее на другую строку y из A. Т.е., грубо говоря, перенести все связи с одного объекта на другой, а сам объект - удалить (или оставить, не важно).

Можно, конечно, браться за pg catalog и писать большую хранимку, которая все это делает. Но интерактивности тут не получится, универсальности - тоже.

Вопрос: возможно, уже написана утилита, которая в интерактивном режиме позволяет проделывать указанные действия?
...
Рейтинг: 0 / 0
30.11.2006, 20:58
    #34168846
Jelis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утилита для отображения/редактирования каскадных связей
А какие действия то? Показывать все связи для таблицы? Или эмулировать "ON DELETE SET getOtherGoodId()" ?
Второе можно спокойно реализовать через триггеры.
...
Рейтинг: 0 / 0
03.12.2006, 00:36
    #34172724
Утилита для отображения/редактирования каскадных связей
Действия - показывать связи (кстати, не для таблиц, а для записей) плюс позволять с ними что-то делать (как группой, так и отдельно). Возможные операции я перечислил: каскадное удаление, слияние, отвязка и т.д.
...
Рейтинг: 0 / 0
04.12.2006, 09:48
    #34173723
glebofff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Утилита для отображения/редактирования каскадных связей
Думаю, что, всё-таки придётся браться за pg_catalog.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Утилита для отображения/редактирования каскадных связей / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]