Задать вопрос
@NIKA_R

Как корректно выполнить удаление данных при наличии ограничений целостности (Foreign Key) и отсутствии триггеров или опции ON DELETE CASCADE?

Две таблицы.
t1 (c11, date)
t2 (c12, c22, c33)
t1(c11) связь один ко многим t2(c22)

69b01f7bee01f251953205.png
Вычислить временную точку, равноудаленную от границ общего диапазона дат в таблице t1. Инициировать операцию удаления для записей из t1, чье абсолютное отклонение даты от этой точки является минимальным.

Простая задача, но есть проблема.
Ошибка при выполнении тестового решения ((ODBC): 23000 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The DELETE statement conflicted with the REFERENCE constraint "FK__t2___c22__231C58BC". The conflict occurred in database "sqlex6", table "dbo.t2", column 'c22'.)

При создании таблиц не было задано ON DELETE CASCADE...
Последовательно удалять из дочерней и родительской таблицы не вышло, происходит блокировка.

https://learn.microsoft.com/en-us/answers/question...
Похожая ситуация, но решения нет
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Академия Эдюсон
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Сначала удалить соответствующие записи из t2 или установить в них c22 в NULL, в зависимости от задачи, затем удалять записи из t1.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы