关于数据库(sqlserver)递归

我们会经常需要一些递归的操作,或在后台程序设置,或在脚本设置,但无疑这些在后期维护中很难操作。

最近正在研究数据库中的递归  先写出来记下,以后好用

在这里我需要的是往下递归 即一个文件夹下有文件夹下有文件夹有文件 再点击父级文件夹时,下属所有的文件都会显示

表名:Catalog

主键:CatalogCode

父级:ParentCatalogCode

通过一下的sql语句就可以查询出catalogcode= '14c80cc3-2271-403b-9196-d7b33d190b3d'的属于他的所有文件

;with cte as (
  select rootid=CatalogCode,CatalogCode,CatalogName,ParentCatalogCode from dbo.Catalog where catalogcode = '14c80cc3-2271-403b-9196-d7b33d190b3d'
  union all
  select a.rootid,b.CatalogCode,b.CatalogName,b.ParentCatalogCode from cte a inner join Catalog b on a.CatalogCode = b.ParentCatalogCode
)

通过 select * from cte 查询出所需要的文件

原文地址:https://www.cnblogs.com/suwh/p/sqlserver.html