create function myFun(@id as int) --创建表函数名称,参数是id获取其他,
returns @temp table --这里返回一个自己创建的表,里面的字段根据自己的需要设
(
[id] int,
[Name] varchar(100),
[parentid] int,
[levels] int --这里说明一下,上面的字段是根据自己要取数据的表而定的,levels表示栏目层次的,是必须有的!
)
as
begin
declare @level as int --声明一个变量,用于保存栏目信息层次索引
select @level = 0
insert into @temp select id,Name,parentid,@level from Sub where id=@id
--先根据id获取根据节点的数据,@level初始为0,表示根目录
while @@rowcount >0
begin
set @level=@level+1 --设置每一层子栏目层次索引
insert into @temp
select a.id,a.Name,a.parentid,@level from Sub a inner join @temp t
on a.parentid=t.id and t.levels=@level-1
--根据该栏目的父节点,查询该层次的栏目信息
end
return --这里别忘了return,不然不给查询哦!
end
returns @temp table --这里返回一个自己创建的表,里面的字段根据自己的需要设
(
[id] int,
[Name] varchar(100),
[parentid] int,
[levels] int --这里说明一下,上面的字段是根据自己要取数据的表而定的,levels表示栏目层次的,是必须有的!
)
as
begin
declare @level as int --声明一个变量,用于保存栏目信息层次索引
select @level = 0
insert into @temp select id,Name,parentid,@level from Sub where id=@id
--先根据id获取根据节点的数据,@level初始为0,表示根目录
while @@rowcount >0
begin
set @level=@level+1 --设置每一层子栏目层次索引
insert into @temp
select a.id,a.Name,a.parentid,@level from Sub a inner join @temp t
on a.parentid=t.id and t.levels=@level-1
--根据该栏目的父节点,查询该层次的栏目信息
end
return --这里别忘了return,不然不给查询哦!
end