У меня есть вид сетки с использованием источника данных sql. Теперь я хочу удалить запись, используя команду удаления в виде таблицы, проблема в том, что одна запись основана на информации, собранной из нескольких таблиц, поэтому мне нужно удалить части информации из всех этих таблиц, чтобы полностью удалить запись, вот мой структура таблицы.
- Проекты
- ProjectArticles
- ArticleStatus
- ProjectAssignments
Проекты - это таблица с полной информацией о таких проектах, как название проекта, имя клиента и т. Д., Имеет первичный ключ "project_id"
ProjectArticles - это таблица, которая содержит информацию о том, сколько статей связано с одним проектом, например, если в проекте 3 статьи, то в этой таблице 3 строки со следующими данными
article_id project_id
1 --------- 1
2 --------- 1
3 --------- 1
где "article_id" - первичный ключ.
Статус статьи - это таблица с информацией об одной статье, например,
status_id- article_id- filename ---- writer_status- editor_status- sales_status
1 -------- 1 --------- Any filename -- done --------- pending ------ pending
"status_id" - это первичный ключ
И, наконец, ProjectAssignments - это таблица с данными о том, какой проект назначен, какому автору записи он назначил в качестве первичного ключа assignment_id, а в качестве внешнего ключа используется project_id, как показано выше.
Есть идеи, как удалить весь проект со всей необходимой информацией в других таблицах?
Я сделал этот пример запроса, но он не работает, sql management studio говорит, что «не удается разобрать текст запроса».
DELETE P, A FROM Projects AS P, ProjectArticles AS A WHERE P.project_id = A.project_id AND P.project_id = @project_id
В приведенном выше тексте запроса я просто использовал две таблицы, чтобы проверить, работает ли он или нет, но не работает, любая помощь будет оценена.