用数据库实现递归树
来源:互联网 发布:mac power键是哪个 编辑:程序博客网 时间:2024/06/07 22:18
--查找指定节点的所有子节点的示例函数
--测试数据
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '005',NULL ,'四会市'
UNION ALL SELECT '006','005','清远市'
UNION ALL SELECT '007','006','小分市'
GO
--查询指定节点及其所有子节点的函数
CREATE FUNCTION f_Cid(@ID char(3))
RETURNS @t_Level TABLE(ID char(3),Level int)
AS
BEGIN
DECLARE @Level int
SET @Level=1
INSERT @t_Level SELECT @ID,@Level
WHILE @@ROWCOUNT>0
BEGIN
SET @Level=@Level+1
INSERT @t_Level SELECT a.ID,@Level
FROM tb a,@t_Level b
WHERE a.PID=b.ID
AND b.Level=@Level-1
END
RETURN
END
GO
--调用函数查询002及其所有子节点
SELECT a.*
FROM tb a,f_Cid('002') b
WHERE a.ID=b.ID
/*--结果
ID PID Name
------ ------- ----------
002 001 烟台市
004 002 招远市
--*/
- 用数据库实现递归树
- 【JAVA秒会技术之搞定数据库递归树】Mysql快速实现递归树状查询
- 用递归和非递归方式实现二叉树
- C#实现数据库的递归查询
- C#实现数据库的递归查询
- AVL树递归实现
- js 实现树 递归
- 递归实现二叉树
- 二叉树,递归实现
- 用递归实现排列组合
- 用bom实现递归
- 用递归实现排列组合
- 用递归实现循环
- 用递归实现排列组合
- 数据库递归查询成树
- 递归显示数据库目录树
- 递归非递归实现树的遍历
- 递归与非递归实现二叉树
- 字符串的一些操作(转)
- 程序员的困惑--把女友升级为老婆的时候发生的BUG
- XMl的作用
- 重复的记录
- 中央政治局常委对年轻人的七项忠告
- 用数据库实现递归树
- Spring2.5+Struts1.3.8+Jpa(Hibernate实现)整合之八
- 初次使用JNI
- 排列三124期和值推荐
- mysql 配置与中文乱码解决方案
- 数据库- 系统数据类型
- Thinking in C++ 读书笔记 之抽象数据类型
- MontaVista嵌入Moblin
- 自制叉烧肉