BOM 创建用户定义函数,每个子节点de父节点的信息

简介:
-- 生成测试数据
create table  BOM(ID  int ,parentID  int ,sClassName  varchar ( 10 ))
insert into  BOM  values ( 1 , 0 , ' 1111 '       )
insert into  BOM  values ( 2 , 1 , ' 1111_1 '     )
insert into  BOM  values ( 3 , 2 , ' 1111-1-1 '   )
insert into  BOM  values ( 4 , 3 , ' 1111-1-1-1 '
insert into  BOM  values ( 5 , 1 , ' 1111-2 '     )

go

-- 创建用户定义函数,每个子节点de父节点的信息
create function  f_getParent( @ID int )
returns varchar ( 40 )
as
begin
    
declare @ret varchar ( 40 )

    
while exists ( select 1 from  BOM  where  ID = @ID and  parentID <> 0 )
    
begin
        
select @ID = b.ID, @ret = ' , ' + rtrim (b.ID) + isnull ( @ret , '' )
        
from
            BOM a,BOM b
        
where
            a.ID
= @ID and  b.ID = a.parentID
    
end
    
    
set @ret = stuff ( @ret , 1 , 1 , '' )
    
return @ret
end
go

-- 执行查询
select  ID, isnull (dbo.f_getParent(ID), '' as  parentID  from  BOM
go

-- 输出结果
/*

ID          parentID                                 
----------- ---------------------------------------- 
1           
2           1
3           1,2
4           1,2,3
5           1   
*/

-- 删除测试数据
drop function  f_getParent
drop table  BOM

go



    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/01/04/1639181.html,如需转载请自行联系原作者


相关文章
|
SQL 关系型数据库 MySQL
Mycat【Mycat高级特性_搭建双主双从、Mycat分片技术_垂直拆分-分库 】(四)-全面详解(学习总结---从入门到深化)
Mycat【Mycat高级特性_搭建双主双从、Mycat分片技术_垂直拆分-分库 】(四)-全面详解(学习总结---从入门到深化)
169 0
|
安全 物联网 5G
物联网卡
随着科技飞速发展,物联网作为新一代信息技术的核心部分,正深刻改变生活、工作和社会结构。物联网卡是设备接入互联网的关键媒介,推动了智慧城市、工业4.0、智能家居、远程医疗、智能交通等领域的创新。它具备定制化服务、广覆盖与稳定性、大容量与高并发及安全管理等特点。物联网卡广泛应用于智能安防、智能制造、智能家居、远程医疗和智能交通等领域,提升效率和体验。尽管面临网络覆盖不足、数据安全等挑战,但通过加强基础设施建设、强化数据安全、推动标准化和创新服务模式,物联网卡将引领万物互联新时代,成为连接未来的桥梁。
物联网卡
|
JSON 算法 安全
Web安全-JWT认证机制安全性浅析
Web安全-JWT认证机制安全性浅析
214 2
|
关系型数据库 MySQL Shell
Mac安装Mysql(图文解说详细版)
Mac安装Mysql(图文解说详细版)
Mac安装Mysql(图文解说详细版)
JavaScrip 第二课。回顾
JavaScrip 第二课。回顾
69 0
|
人工智能 JavaScript 前端开发
JavaScript:原型、原型链、继承
JavaScript:原型、原型链、继承
220 0
|
前端开发 iOS开发 MacOS
vscode自动跟随Mac或window系统系统切换主题色-白天用亮色主题、晚上用暗黑主题
vscode自动跟随Mac或window系统系统切换主题色-白天用亮色主题、晚上用暗黑主题
1019 0
uniapp项目怎么删除顶部导航栏
uniapp项目怎么删除顶部导航栏
515 0
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT最强专业学习资料集锦
本文旨在整理一份可供参考和学习的专业ChatGPT相关资料,包括ChatGPT相关论文、Github项目、以及当前市场上出现的ChatGPT相关产品等。
ChatGPT最强专业学习资料集锦
|
JavaScript
Vue+Echarts: 实现饼状图的详细教程
Vue+Echarts: 实现饼状图的详细教程
1212 0