我有一个使用 sql 数据源的网格视图。现在我想使用网格视图的删除命令删除一条记录,问题是单个记录是基于从多个表中收集的信息,所以我必须从所有这些表中删除部分信息才能完全删除记录,这是我的表结构。
- 项目
- 项目文章
- 文章状态
- 项目分配
Projects 是一个包含有关项目的完整信息的表,如项目名称、客户名称等,它具有主键“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
在上面的查询文本中,我只使用了两个表来检查它是否工作但它不工作,任何帮助将不胜感激。