惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Recent Announcements
Recent Announcements
Vercel News
Vercel News
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
G
Google Developers Blog
罗磊的独立博客
爱范儿
爱范儿
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
月光博客
月光博客
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - 塞北的雪

ShopEX 与 jQuery 冲突的解决办法 博文阅读密码验证 - 博客园 关于javascript的闭包之笔记 Linux top 命令详解 PIX配置大全 配置Cisco PIX防火墙 Javascript小技巧 - 塞北的雪 - 博客园 气吞山河,25硬盘组装超级存储服务器全案 Exchange Server 2003群集系统方案 prototype.js开发笔记 XP系统EFS加密破解的一线希望 如何编写 INF 文件 用Sql语句生成Sqlserver数据字典 用正则表达式取文章里的图片地址 SA帐号的改名和删除 爱因斯坦迷题:谁养鱼?(Java算法) 为MM两肋插刀之Crack蜘蛛纸牌 用Ollydbg手脱Armadillo V3.60加壳的DLL 用olldbg破解分析ocx控件
查找指定节点的所有子节点的示例函数
塞北的雪 · 2006-12-11 · via 博客园 - 塞北的雪

 查找指定节点的所有子节点的示例函数

可以形成1>2>3>4这种效果

--查询指定节点及其所有子节点的函数
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

--测试数据
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--调用函数查询002及其所有子节点
SELECT a.*
FROM tb a,f_Cid('002') b
WHERE a.ID=b.ID
/*--结果
ID   PID  Name       
------ ------- ---------- 
002  001  烟台市
004  002  招远市
--
*/