powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Удалить записи в дочерних таблицах
7 сообщений из 7, страница 1 из 1
Удалить записи в дочерних таблицах
    #34788683
WinLin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица (справочник) spr1:
spr1.id - первичный ключ.
Подчиненные таблицы:
tab1.spr1_id int reference spr1(id),
tab2.spr1_id int reference spr1(id).

Как лучше(правильнее) сделать, чтобы при удалении записи в spr1 удалялись записи в tab1 и tab2?
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34788737
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ALTER TABLE tab1
  ADD CONSTRAINT tab1_spr1_id FOREIGN KEY (spr1_id)
      REFERENCES spr1 (id) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE;

ALTER TABLE tab2
  ADD CONSTRAINT tab2_spr1_id FOREIGN KEY (spr1_id)
      REFERENCES spr1 (id) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE;

Помимо CASCADE - есть еще другие ключевые слова.
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34788738
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать внешний ключ с экшеном on delete - cascade
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34789029
WinLin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как добавить правило "on delete cascade" на поле и не потерять данные?
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34789093
WinLin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял сначала удаляем constraint, потом по новой создаем.
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34789217
nedba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ON UPDATE Restrict ON DELETE Restrict 

Зачем правило убирать - получи сообщение об ошибке и обработай его как душе будет угодно. К примеру перенеси инфу в архив.
...
Рейтинг: 0 / 0
Удалить записи в дочерних таблицах
    #34789237
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nedba
Код: plaintext
ON UPDATE Restrict ON DELETE Restrict 

Зачем правило убирать - получи сообщение об ошибке и обработай его как душе будет угодно. К примеру перенеси инфу в архив.Если ему надо перенести в архив, то да, но если у него стоит задача - удалить, то делает как сказали.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Удалить записи в дочерних таблицах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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