首页 > 代码库 > SQL递归获取树型路径中文名称

SQL递归获取树型路径中文名称

项目中遇到一个树型结构表要根据任意传入节点获取它从根节点一直到自身节点的全部路径的中文名称,并且用‘>‘与分隔。

我使用在sqlServer中写了一个解析函数方便开发调用。

USE [RP_ERP]GO/****** Object:  UserDefinedFunction [dbo].[Func_GetDeptPathName]    Script Date: 01/09/2015 17:33:30 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE FUNCTION [dbo].[Func_GetDeptPathName] (	-- 当前部门的上级部门ID	@deptPid varchar(36),	-- 当前部门的名称	@deptName varchar(1000),	-- 是否取到根部门	@isRootName int)RETURNS varchar(1000)ASBEGIN	declare @temp varchar(50)		declare @id varchar(36)	set @id = ‘‘	select @id=ParentCode,@temp=DeptName from HR_Department where DeptCode=@deptPid	if ‘‘ = @id and 1=@isRootName and ‘‘ <> @deptPid		set @deptName = @temp +‘ > ‘+ @deptName;	else if @id<>‘‘		set @deptName =  dbo.Func_GetDeptPathName(@id,@temp,@isRootName)+‘ > ‘+ @deptName			-- Return the result of the function	RETURN @deptName;ENDGO

 

SQL递归获取树型路径中文名称