参照上述文章:
我设计了一个表:
引用
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TEST]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TEST]
GO
CREATE TABLE [dbo].[TEST] (
[TEST_ID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[NAME] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[PARENT] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
然后写了一个函数:
CREATE FUNCTION dbo.GetSubtreeInfo2
( @manager_id AS char(5) )
RETURNS @treeinfo table
( [TEST_ID] [char] (10) NOT NULL,
[级别] [int] NOT NULL
) AS
BEGIN
DECLARE @level AS int
SELECT @level = 0
INSERT INTO @treeinfo
SELECT [TEST_ID], @level
FROM [TEST]
WHERE [TEST_ID] = @manager_id
WHILE @@ROWCOUNT > 0
BEGIN
SET @level = @level + 1
INSERT INTO @treeinfo
SELECT E.[TEST_ID], @level
FROM [TEST] AS E JOIN @treeinfo AS T
ON E.[PARENT] = T.[TEST_ID] AND T.[级别] = @level - 1
END
RETURN
END
在查询分析器里执行:
引用
SELECT *
FROM GetSubtreeInfo2('12')
得到节点12及其子结点的ID。
分享到:
相关推荐
软件开发经常要用到树形结构,采用sql实现树形结构是一种不错的方式,此例支持sql2005
典型的sql数据库树形关系,可以根据父找所有的子,也可以指定子找所有的父
sql树形数据处理示例(Jet wang 最新整理).
很好的学习C#操作数据库的多个程序实例,看懂了,就可以玩转C#数据库了,快下载哦
sql 查询 所有子节点 方法已经调试通过(sql-server 2005)
JAVA_SQL递归树形,用递归算法结合数据库对J2EE实现树结构
只需要修改下面指定修改部分即可使用,原则上支持树形展开和排序,但由于实际数据量很大,因此可以按料段展开(U9 V3.0),欢迎交流。
SqlServer树形结构、层次查询 结果如下: 1 1 2 1-2 4 1-2-4 5 1-2-5 10 1-2-5-10 8 1-2-5-8 6 1-2-6 3 1-3 7 1-3-7 11 1-3-7-11 9 1-3-7-9 12 1-3-7-9-12 13 1-3-7-9-13 14 1-3-7-9-14
asp.net +SqlServer树形框架的Demo。
树形菜单,有带带权限的。下来看看知道了
无限级树形菜单(Sql数据库) 树型菜单
本文介绍Oracle中使用START WITH...CONNECT BY PRIOR子句实现递归查询树形结构的方法,小伙伴们可以参考一下。
一种基于树形结构的Sql结果集向Json数据的转换算法.pdf
SQL 2005树形表非循环递归查询 利用SQL 2005的新特性查询树形表,在SQL2000中此方法不可用.
最新全国省市区行政划分表,树形结构,全国统一(城市编码、区域编码、邮政编码),及各市区行政坐标(经纬度),方便初始化地图中心及标注点,等级划分三级联动效果
树形菜单连接sql2000数据库,VS2005和VS2008通过测试。下载后在DefaultTree.aspx.cs页面里面修改数据库登录名和密码
TreeView实现无限级分类可以通过TreeView实现增删改查,数据库采用的是SQL 2005,数据库名:CurrentK.bak
mysql 树形结构查询,使用存储过程,实现mysql的树形结构查询