专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sqlserver:有关sql server下无限多级别分类查询解决办法 »正文

sqlserver:有关sql server下无限多级别分类查询解决办法

来源: 发布时间:星期六, 2009年2月7日 浏览:28次 评论:0
="t18">在开发中经常会遇到无限级分类问题最常见些无限级目录的类如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言这将是件很困难事情也许你最后能实现类似功能不过可能花费时间很长效率也不是很理想下面举例也许能给你个启示

/***创建表****/
CREATE TABLE [dbo].[Tree] (
[ID] [] IDENTITY (1, 1) NOT NULL ,
[PID] [] NULL ,
[Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) _disibledevent=>)
RETURNS @Tab TABLE(ID , PID , Name varchar(10), Lev )--返回结果表结构
AS
BEGIN
Declare @lev
Set @lev=0

While @lev=0 or @@ROWCount>0
Begin
Set @Lev=@Lev+1
Insert @Tab(ID, PID, Name, Lev)
Select ID, PID, Name, @Lev From Tree Where (@Lev=1 and ((PID=@ID) or (@ID is null and PID is null))) or (PID in (Select ID From @Tab Where Lev=@Lev-1))
order by ID
End
RETURN
END
直接查询Select * from dbo.fGetTreeTable(null)就可以输入所有记录

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: