写程序是总是用到父子关系的数据,通过给定节点得到其子节点的记录,写视图但是不支持传入参数。
那就用 自定义函数来完成这个需求吧!
1.创建视图
create Function myFunc(@id Int)
Returns @tab table (id int,ParentId int,[Level] int,TName nvarchar(50))
As
begin
--DECLARE @typeId int;
--set @typeId =6;
with cte as
(
select * from tab where id= @id
union all
select a.* from tab a, cte b
where a.parentid = b.id
)
insert @tab select id ,ParentId,[Level],TName from cte;
return
End
2.表值函数调用
select * from dbo.myFunc(6)
转载保留:http//www.iqingcao.com
本文介绍了一种使用SQL自定义函数实现从给定节点获取其所有子节点的方法。该方法首先创建一个表值函数,通过递归公用表表达式(CTE)遍历父子关系数据结构,并返回指定节点的所有子节点记录。
1045

被折叠的 条评论
为什么被折叠?



