首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>数据库>SQL数据库>SQL Server下无限级分类查询解决办法
SQL Server下无限级分类查询解决办法
来源: 发布时间:2008-03-31 发布人: 浏览: 人次   字体: [ ]  

在开发中经常会遇到无限级分类的问题,最常见的是一些无限级目录之类的,如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言的话,这将是一件很困难的事情,也许你最后能实现类似的功能,不过可能花费的时间很长,效率也不是很理想,下面的示例也许能给你一个启示。

/***创建表****/
CREATE TABLE [dbo].[Tree] (
    
[ID] [int] IDENTITY (11NOT NULL ,
    
[PID] [int] NULL ,
    
[Name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL 
ON [PRIMARY]

/****创建自定义函数****/
CREATE FUNCTION dbo.fGetTreeTable
 (
 
@ID int= null
 )
RETURNS @Tab TABLE(ID int, PID int, Name varchar(10), Lev int)--返回结果的表结构
AS
 
BEGIN
  
Declare @lev int
  
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=@IDor (@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)就可以输入所有记录。


相 关 文 章   发布商链接
·Sqlserver中Union与Case的使用效率案...
·清除sql数据库日志的几种办法分析
·分析SQL2005最新高效分页方法
·MS sql安装时“无法在COM+目录中安装...
·MS SQL2005无法远程连接问题解决方案
·SQL Server如何返回最后插入记录的自...
·在SQL中分类合并多行记录的方法
·sql server存储过程实例:统计一段时...
·SQLServer2005分解导入xml文件代码
·用sql实现查询重复记录的代码
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·SQL数据库实现用SQL语句根据...
·SqlServer 2005 Express的配...
·sql排序规则的简介及其修改操
·如何用sql语句为字段添加和去
·sqlserver数据库日志文件压缩
·sql语句获得数据库某表字段的
·ISNUMERIC函数介绍及其要注意
·SQLServer2005导入xml文件实...
·SQL Server2005中删除表中重...
·如何手工启动SQLServer的全文
·sql删除数据库中的所有表语句
·SqlServr利用触发器来控制某...
·SQLServer常用日期格式转换方
·用sql实现查询重复记录的代码
·SQLServer2005分解导入xml文...
热 门 文 章
·图解SQL2008安装向导的使用
·实现Excel数据导入到SQL2005...
·SQLServer常用日期格式转换方...
·MS sql安装时“无法在COM+目...
·sql语句联合删除多个表技巧
·sql删除数据库中的所有表语句
·Sql Server端口连接的问题
·如何在SQL Server中得到自动...
·sql排序规则的简介及其修改操...
·SQL Server2005中删除表中重...
·分析SQL2005最新高效分页方法
·小解sqlServer中临时表及表变...
·用sql实现查询重复记录的代码
·MS SQL2005无法远程连接问题...
·如何修改sqlserver数据库名称
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .