参照上述文章:
我设计了一个表:
引用
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树形结构使用WITH详解 在软件开发过程中,树形结构是非常常见的一种数据组织方式。尤其是在处理具有层级关系的数据时,例如组织架构、产品分类等场景,利用SQL实现树形结构可以极大地提高查询效率与数据管理...
以下是对SQL树形数据处理的一些关键知识点的详细说明: 1. **递归查询**: SQL中的递归查询是处理树形数据的核心方法。通过自连接,我们可以遍历层级关系。例如,使用`WITH RECURSIVE`语句(在PostgreSQL、MySQL ...
在SQL数据库中,树形数据结构是一种常见的关系表示方式,特别是在需要表示层级或者分类的数据时。例如,组织架构、产品目录、菜单系统等都可能涉及树形数据的存储和查询。本示例将深入探讨如何在SQL中处理这类数据,...
本文将深入探讨C#中的SQL查询技术,如何处理SQL语句的换行问题,以及如何创建和展示SQL数据的树形列表。 首先,"CSharp-SQL.rar"是一个压缩包,其中包含了一系列关于C#与SQL交互的实例代码,这可以帮助开发者更好地...
Oracle SQL树形结构查询是一种在数据库中处理层级数据的有效方法,特别是在具有层级关系的数据表中,如组织架构、部门树或文件系统等。Oracle SQL 提供了 `START WITH...CONNECT BY PRIOR` 语句来实现递归查询,使得...
sql 查询 所有子节点 方法已经调试通过(sql-server 2005)
Sql数据库,如MySQL、SQL Server或Oracle等,提供了强大的数据处理能力,可以有效地管理无限级别的树形数据。 首先,我们需要设计一个合适的数据库表结构来存储树形菜单的数据。一种常用的方法是使用自引用关系,即...
本文提出了一种基于树形结构的Sql结果集向Json数据的转换算法,旨在解决关系型数据库中树结构数据与Web应用中Json数据格式不一致的问题。该算法将Sql结果集转换为Json数据,以满足Web应用中树控件的需求。 一、树形...
JAVA_SQL递归树形,用递归算法结合数据库对J2EE实现树结构
在SQL Server 2005中,无限级树形菜单通常通过自引用关系表来实现。这种表包含一个ID字段(主键)和一个ParentID字段(外键),用于指向上一级菜单的ID。例如,我们可以创建一个名为`Categories`的表,其结构如下: ...
ASP.NET + SQLServer树形框架是一种常见的Web应用程序开发技术,用于构建层次结构的数据展示和交互。这个Demo展示了如何结合这两种技术来创建一个可扩展、动态的树状视图,这在网站导航、组织结构显示或者文件目录...
树形菜单是一种以层级结构展示数据的UI元素,它模仿了自然界中的树状结构,通常用于呈现具有父子关系的数据。在ASP.NET中,我们可以使用TreeView控件来创建这样的菜单。 1. **TreeView控件**:ASP.NET内置的...
首先,无限级树形菜单的核心是树状数据结构,其中每个节点都可以有零个或多个子节点,形成一个层级关系。在数据库中,通常通过自关联来表示这种关系,即表中的一个字段引用该表的主键,形成递归关系。 1. **自关联...
在这个特定的项目中,标题“左侧树形菜单+右侧页面+sql2000”表明这是一个结合了三层树形菜单、右侧内容区域以及与SQL Server 2000数据库交互的Web应用程序。 首先,我们来深入理解“树形菜单”。树形菜单是一种...
只需要修改下面指定修改部分即可使用,原则上支持树形展开和排序,但由于实际数据量很大,因此可以按料段展开(U9 V3.0),欢迎交流。
mysql 树形结构查询 MySQL 树形结构查询是指使用存储过程来实现 MySQL 数据库中的树形结构查询。这种查询方式可以高效地查询树形结构的数据,并且可以根据需要设置递归深度。 MySQL 中的树形结构查询可以使用存储...
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
如果这个项目中包含了这个组件,那么你需要研究其API和文档,理解如何与VS2005和SQL Server 2000配合使用,以及如何配置和操作这个控件来展示无限级树形菜单。 总结来说,通过VS2005和SQL Server 2000,我们可以...
最新全国省市区行政划分表,树形结构,全国统一(城市编码、区域编码、邮政编码),及各市区行政坐标(经纬度),方便初始化地图中心及标注点,等级划分三级联动效果