sql递归函数,返回递归的层次[亲测有效]

(37) 2023-07-18 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说sql递归函数,返回递归的层次[亲测有效],希望能够帮助你!!!。

通过sqlserver函数实现递归,并且返回当前的层次,适用于刚学习SQL的同学

sql递归函数,返回递归的层次[亲测有效]_https://bianchenghao6.com/blog__第1张

效果图

创建表:

create table t_tree
(
    id int IDENTITY(1,1),
    parentid int,
    name varchar(10)
)

go

插入测试数据:

insert into t_tree select 0,''
insert into t_tree select 1,''
insert into t_tree select 1,''
insert into t_tree select 2,''
insert into t_tree select 3,''
insert into t_tree select 3,''
insert into t_tree select 5,''
insert into t_tree select 5,''
insert into t_tree select 5,''
go

创建函数:

create function get_child(@id int)
     returns @child table (id int,parentid int,name varchar(10),level int)
as
     begin
          declare @level int
          set @level=0
          insert into @child  select *,@level from t_tree where id=@id
          while @@rowcount>0
          begin
              set @level=@level+1
              insert into @child  select a.*,@level from t_tree a,@child b  where b.id=a.parentid and b.level=@level-1
          end
          return
     end
go

执行:

 select * from get_child(1)

上一篇

已是最后文章

下一篇

已是最新文章

发表回复