根据根节点获取所有的子节点SQL语句

CREATE function [dbo].[GetChildOrgID](@OrgID varchar(36))   
returns @t table(OrgID varchar(36),ParentOrgID varchar(36),Level int)   
as  
begin  
    declare @i int  
    set @i = 1   
    insert into @t select @OrgID,@OrgID,0 --当前级,本级,如果不要的话可以注释掉或再加个参数来选择操作   
    insert into @t select OrgID,ParentOrgID,@i from SM_Organization where ParentOrgID = @OrgID   
  
    while @@rowcount<>0   
    begin  
        set @i = @i + 1   
        insert into @t   
        select  
            a.OrgID,a.ParentOrgID,@i   
        from  
            SM_Organization a,@t b   
        where  
            a.ParentOrgID=b.OrgID and a.Status !='1' and b.Level = @i-1   
    end  
    return  
end
GO

转载于:https://www.cnblogs.com/Jack_G/archive/2011/11/29/2267639.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值