关于sqlserver下无限多级别分类查询解决办法

关于sqlserver下无限多级别分类查询解决办法,第1张

关于sqlserver下无限多级别分类查询解决办法,第2张

在开发中,我们经常会遇到无限分类的问题,最常见的就是一些无限目录等。如果你不熟悉SQL Server或者SQL语言,那将是一件非常困难的事情。也许最后能实现类似的功能,但可能耗时较长,效率也不理想。下面这个例子可能会给你一个启发。

/* * *创建表* * */
创建表[DBO]。[Tree](
[ID][int]identity(1,1) not null,
[PID] [int] null,

/* * * *创建自定义函数* * */
createfunctiondbo . fgettreetable
(
@ ID int = null
)
returns @ Tab table(ID int,PID int,Name varchar(10),Levint)-返回结果的表结构
as
begin
declare @ Levint
Set @ Lev = 0
while @ Lev = 0或@ @ rowcount > 0 @Lev From Tree Where (@Lev=1且((PID=@ID) or (@ID为null且PID为null))or(PID in(Select ID From @ Tab Where Lev = @ Lev-1))[/Br/]order by ID[/Br/]end[/Br/]return[/Br/]end[/Br/]可以通过直接查询Select * From dbo . fgettreetable(null)输入所有记录。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 关于sqlserver下无限多级别分类查询解决办法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情