Удалить несколько записей с одинаковым номером заказа - PullRequest
0 голосов
/ 19 марта 2019

Я хочу удалить записи с тем же номером заказа. Например, если у меня есть 10 продуктов с одинаковым номером заказа. Когда я хочу удалить эти десять строк с номером заказа, отображается ошибка, подобная этой.

DELETE  FROM [NORTHWND].[dbo].[Orders]
WHERE EmployeeID = 5

Сообщение 547, уровень 16, состояние 0, строка 22 Оператор DELETE конфликтует с ограничением REFERENCE "FK_Order_Details_Orders". Конфликт произошла в базе данных "NORTHWND", таблица "dbo.Order Details", столбец 'Номер заказа'. Заявление было прекращено.

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Чтобы удалить записи из таблицы «Заказы», ​​сначала необходимо удалить записи из таблицы «Детали заказа», поскольку им не разрешено ссылаться на несуществующую запись.

DELETE  FROM [NORTHWND].[dbo].[Order Details]
WHERE OrderID IN (SELECT OrderID FROM [NORTHWND].[dbo].[Order] WHERE EmployeeID = 5)

Затем, если нет больше ограничений, вы можете приступить к удалению записи из таблицы заказов.

DELETE  FROM [NORTHWND].[dbo].[Order]
WHERE EmployeeID = 5
0 голосов
/ 19 марта 2019

Невозможно удалить bcoz, имеют отношение с ID в таблице Order_Details (OrderDetails)

DELETE FROM Order_Details WHERE OrderId IN (SELECT ID FROM Orders WHERE EmployeeId = 5)
DELETE FROM Orders WHERE EmployeeId = 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...