Удалить из нескольких таблиц одновременно в Azure - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь выполнить этот оператор SQL для удаления из двух таблиц одновременно, но обнаружил, что он удаляет только одну таблицу и выдает ошибку

Оператор DELETE конфликтует с ограничением REFERENCE "FK__cc_custom__custo__02084FDA". Конфликт произошел в базе данных «CurtainClub», таблице «dbo.cc_customer_address», столбце «customer_number».

Мой SQL-запрос выглядит следующим образом:

BEGIN
SELECT * from cc_customer 
inner join cc_customer_address on customer_id=customer_number

delete from cc_customer where customer_id=3
delete from cc_customer_address where customer_number=3
END

Также обратите внимание, что customer_number является внешним ключом customer_id

1 Ответ

0 голосов
/ 03 мая 2018

Вам следует поменять DELETE операторов:

BEGIN
  SELECT * 
  from cc_customer 
  inner join cc_customer_address on customer_id=customer_number;

  delete from cc_customer_address where customer_number=3;  -- first child
  delete from cc_customer where customer_id=3;              -- then parent
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...