Задать вопрос
@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...
Последовательно удалять из дочерней и родительской таблицы не вышло, происходит блокировка.
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
  • Сетевая Академия ЛАНИТ
    Выполнение запросов на языке Transact-SQL
    1 неделя
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Сначала удалить соответствующие записи из t2 или установить в них c22 в NULL, в зависимости от задачи, затем удалять записи из t1.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Казань
от 75 000 до 125 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽
ITK academy Краснодар
от 220 000 до 300 000 ₽