у меня есть три таблицыУдаление таблицы с внешними ключами constaints
GroupTable
GroupId
Name
Каждая группа имеет один ко многим с пользователей
Users
UserId
Name
GroupId
И каждый пользователь имеет один ко многим с «вызовы»
Challenges
Name
UserId
Я хочу, чтобы иметь возможность удалять группу с пользователями, назначенными этой конкретной группе
Я попытался это, где я все-таки удается удалить группу на основе идентификатора, не получая ошибки внешнего ключа ограничения, но все пользователи добавляются в таблицу пользователей и ВСЕ вызовы удаляются, а
ALTER TABLE GroupTable NOCHECK CONSTRAINT ALL
ALTER TABLE UserTable NOCHECK CONSTRAINT ALL
ALTER TABLE Challanges NOCHECK CONSTRAINT ALL
DELETE FROM GroupTable
WHERE ID = @GroupId
DELETE FROM child
FROM Challanges as child
INNER JOIN UserTable AS parent
ON child.UserId = parent.ID
WHERE parent.GroupId = @GroupId
DELETE FROM parent
FROM UserTable AS parent
WHERE GroupId = GroupId
Как могу ли я изменить это, чтобы удалить только gropu с конкретными пользователями и возникнуть проблемы, связанные с Группой?
Umm ... 'DELETE FROM parent FROM UserTable AS parent WHERE GroupId = GroupId' должен быть опечаткой? Наверняка вы хотите 'GroupId = @ GroupId'? –
Только что увидел, что теперь ... это может поставить вопрос – Arianule