龙空技术网

sql递归函数,返回递归的层次

咸鱼会开发 389

前言:

此刻大家对“sql返回数据条数”大致比较珍视,同学们都想要分析一些“sql返回数据条数”的相关内容。那么小编在网络上搜集了一些有关“sql返回数据条数””的相关知识,希望各位老铁们能喜欢,大家一起来学习一下吧!

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

效果图

创建表:

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     endgo

执行:

 select * from get_child(1)

标签: #sql返回数据条数 #sql函数返回表