首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用内连接删除行

问使用内连接删除行
EN

Stack Overflow用户
提问于 2013-03-25 15:20:49
回答 2查看 1.6K关注 0票数 0

我想用一个查询从4个表中删除数据。

代码语言:javascript
复制
delete e1,e2,e3,e4 FROM sas.RolesInMenuOperations as e1 INNER JOIN
sas.RolesMenus as e2 ON e1.RoleMenuId = e2.Id INNER JOIN
sas.RolesInModules as e3 ON e2.RolesInModulesId = e3.Id INNER JOIN
sas.Roles as e4 ON e3.RoleId = e4.Id
where e4.Id=5

这就是我到目前为止所做的。我指的是this链接,是否可以使用连接从4个表中删除数据。如何实现这一点,或者我想写4个不同的查询?

尽管此查询可以正常工作

代码语言:javascript
复制
delete e1 FROM sas.RolesInMenuOperations as e1 INNER JOIN
sas.RolesMenus as e2 ON e1.RoleMenuId = e2.Id INNER JOIN
sas.RolesInModules as e3 ON e2.RolesInModulesId = e3.Id INNER JOIN
sas.Roles as e4 ON e3.RoleId = e4.Id
where Roles.Id=5
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-25 15:53:15

在SQL Server中,不能使用单个查询删除多个表数据。最好的想法是在关系表中给出FK,在DELETE级联上使用,或者使用单独的查询从多个表中删除。

票数 2
EN

Stack Overflow用户

发布于 2013-03-25 15:26:44

因此,您正在寻找MS SQL语法?一些类似的东西可以工作:

代码语言:javascript
复制
DELETE table 
FROM table a
INNER JOIN table_b b on b.id = a.id
WHERE [my filter condition]

因此,如果您想要删除更多的表行,我认为您需要创建更多的语句并触发它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15609624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档