存储过程递归获取获取多级部门全名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程递归获取获取多级部门全名相关的知识,希望对你有一定的参考价值。

部门表:

技术分享

人员表:

技术分享

存储过程:

 

--OrgID 72 当前的部门ID
ALTER function [dbo].[getOrgAllName](@OrgID int)
returns nvarchar(500)
as
begin

--调试用
--declare @OrgID int
--set @OrgID=72

declare @oname nvarchar(50)
declare @fid int
declare @rtnValue nvarchar(500)

select @oname=orgname,@fid=parentid from sys_org where [email protected]

if (@fid=0)
set @[email protected]
else
begin
select @rtnValue=dbo.getOrgAllName(@fid)
set @[email protected]+‘\\‘[email protected]
end
--print @rtnValue
return @rtnValue
end

 

调用和测试结果:

select UserID,USERNO,USERNAME,ORGID, dbo.getOrgAllName(OrgID) as 部门全称 from Sys_User

技术分享

 

以上是关于存储过程递归获取获取多级部门全名的主要内容,如果未能解决你的问题,请参考以下文章