查詢指定節點的所有父節點的示例函式 sql

2022-02-11 20:23:17 字數 895 閱讀 2900

create function f_pid(@id char(3))

returns @t_level table(id char(3),level int)

asbegin

declare @level int

set @level=1

insert @t_level select @id,@level

while @@rowcount>0

begin

set @level=@level+1

insert @t_level select a.pid,@level

from tb a,@t_level b

where a.id=b.id

and b.level=@level-1

endreturn

endgo

--上面的使用者定義函式可以處理乙個節點有多個父節點的情況,對於標準的樹形資料而言,由於每個節點僅有乙個父節點,所以也可以通過下面的使用者定義函式實現查詢標準樹形資料的父節點。

create function f_pid(@id char(3))

returns @t_level table(id char(3))

asbegin

insert @t_level select @id

select @id=pid from tb

where id=@id

and pid is not null

while @@rowcount>0

begin

insert @t_level select @id

select @id=pid from tb

where id=@id

and pid is not null

endreturn

end

查詢指定節點的所有子節點的示例函式 sql

測試資料 create table tb id char 3 pid char 3 name nvarchar 10 insert tb select 001 null 山東省 union all select 002 001 煙台市 union all select 004 002 招遠市 uni...

查詢指定節點的所有子節點的示例函式 sql

測試資料 create table tb id char 3 pid char 3 name nvarchar 10 insert tb select 001 null 山東省 union all select 002 001 煙台市 union all select 004 002 招遠市 uni...

JS實現 查詢指定父節點下所有子代節點

利用js遍歷出某個父節點下的所有子節點,深度優先遍歷,每一次都優先遍歷子節點,所有子節點遍歷完,才返回遍歷兄弟節點 第一種方式是利用遞迴將指定父節點下的所有子節點,但該方式空間占有率較高,耗時長 function getchildren parent 找body下面的所有子代節點 getchildr...