利用with关键字实现数据查询的递归调用
declare @sysCode nvarchar(50) declare @re table(id nvarchar(50),OrgCode varchar(50), ParentCode varchar(50), code varchar(50),name varchar(50), [level] int) set @sysCode = '4413030016527'; with cte as ( select id,@syscode as OrgCode,@syscode as ParentCode, code,name,0 as [level] from [T_SYS_Department] where code =@sysCode union all select t1.id,@syscode as OrgCode,t2.Code, t1.code, t1.Name, t2.[level]+1 from [T_SYS_Department] t1,cte t2 where t1.parentId=t2.id ) insert @re select * from cte; select * from @re