使用表ROLE(ROLE_ID,PARENT_ROLE_ID)如何获取依赖于另一个的所有行?例如,根级别角色的[PARENT_ROLE_ID]将具有空值,但该根角色可能有许多子级,而这些子级又有许多子级。如何在查询中处理此问题?我不断遇到一些选择,但没有工作。它几乎就是oracle在执行'start with'查询时所做的事情。任何帮助将不胜感激。我现在的例子(和错误的)如下:
select * into #Collection from MCCApps.dbo.APP_ROLE r where r.APP_ROLE_ID = 1
declare @ParentId int = 1
while exists (select * from #Collection WHERE APP_PARENT_ID = @ParentId)
begin
select @ParentId = (select top 1 @ParentId
from #Collection
order by APP_ROLE_ID asc)
DELETE FROM MCCApps.dbo.APP_ROLE
where APP_PARENT_ID = @ParentId
端
答案 0 :(得分:1)
d3d9_object.h