SQL遍历父子关系表的方法未必人人都知道,下面就为您介绍一个SQL遍历父子关系表的测试,希望可以让您对SQL遍历父子关系表有更深的认识。
专注于为中小企业提供成都网站建设、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业埇桥区免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
--建立测试环境
- Create Table A
- (ID Int,
- fatherID Int,
- Name Varchar(10)
- )
- Insert A Select 1, NULL, 'tt'
- Union All Select 2, 1, 'aa'
- Union All Select 3, 1, 'bb'
- Union All Select 4, 2, 'cc'
- Union All Select 5, 2, 'gg'
- Union All Select 6, 4, 'yy'
- Union All Select 7, 4, 'jj'
- Union All Select 8, 7, 'll'
- Union All Select 9, NULL, 'uu'
- Union All Select 10, 9, 'oo'
- GO
--建立函数
- Create Function GetChildren(@ID Int)
- Returns @Tree Table (ID Int, fatherID Int, Name Varchar(10))
- As
- Begin
- Insert @Tree Select ID, fatherID, Name From A Where fatherID = @ID
- While @@Rowcount > 0
- Insert @Tree Select A.ID, A.fatherID, A.Name From A A Inner Join @Tree B On A.fatherID = B.ID And A.ID Not In (Select ID From @Tree)
- Return
- End
- GO
--测试
- Select * From dbo.GetChildren(1)
- GO
--刪除测试环境
- Drop Table A
- Drop Function GetChildren
--结果
- /*
- IDfatherIDName
- 21aa
- 31bb
- 42cc
- 52gg
- 64yy
- 74jj
- 87ll
- */
【编辑推荐】
SQL Server视图的使用
SQL SERVER内部函数大全
SQL Server变量赋值的方法
详解SQL Server全局变量
动态sql中使用临时表的实例
本文题目:SQL遍历父子关系表的测试
浏览路径:http://www.gawzjz.com/qtweb/news37/190287.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联