У меня есть представление сетки, использующее источник данных sql. Теперь я хочу удалить запись с помощью команды удаления сетки, проблема в том, что одна запись основана на информации, собранной из нескольких таблиц, поэтому мне нужно удалить части информации из всех этих таблиц, чтобы полностью удалить запись, вот мой структура таблицы.
- Проекты
- ПроектСтатьи
- Статус статьи
- ПроектЗадания
Projects — это таблица с полной информацией о проектах, например, название проекта, имя клиента и т. д. Она имеет первичный ключ «project_id».
ProjectArticles — это таблица, содержащая информацию о том, сколько статей связано с одним проектом, например, если в проекте 3 статьи, то эта таблица имеет 3 строки со следующими данными.
article_id project_id
1 --------- 1
2 --------- 1
3 --------- 1
где «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 говорит: «Невозможно проанализировать текст запроса».
DELETE P, A FROM Projects AS P, ProjectArticles AS A WHERE P.project_id = A.project_id AND P.project_id = @project_id
В приведенном выше тексте запроса я просто использовал две таблицы, чтобы проверить, работает ли он или нет, но он не работает, любая помощь будет оценена по достоинству.