好久没写存储过程了,今日正好同事的开发需要,实现显示多级部门的部门全名称。

如 财务部/会计部/会计一部

 

部门表

人员表

函数 getOrgAllName

--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 orgid=@OrgID if (@fid=0)
set @rtnValue=@oname
else
begin
select @rtnValue=dbo.getOrgAllName(@fid)
set @rtnValue=@rtnValue+'\'+@oname
end
--print @rtnValue
return @rtnValue
end

  

调用和测试结果

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

最新文章

  1. (原创)VM中的CentOS6.4中安装CloudStack6.3①
  2. 【FTP】C# System.Net.FtpClient库连接ftp服务器(上传文件)
  3. MVC之校验
  4. 看看这蛋疼的Java代码
  5. struts乱码问题
  6. 核心概念 —— 契约(Contracts)
  7. springMVC+angular+bootstrap+mysql的简易购物网站搭建
  8. php fsockopen例子
  9. cesium编程入门(三)开始使用cesium开发
  10. Masonry 与 frame 混用导致的问题
  11. python 练习1(流控制)
  12. 移动端根元素(html)的设置
  13. Linux Shell 运算符
  14. Redis Sentinel 模拟故障迁移
  15. ELASTIC索引监控脚本
  16. 循环中点击单个事件(巧用this,指向当前对象)
  17. Centos下安装gcc
  18. Control(拆点+最大流)
  19. “拒绝了对对象数据库的 EXECUTE 权限”之解决
  20. 图片压缩之 PNG

热门文章

  1. Python程序练习1-模拟用户登录验证
  2. 新手站长如何快速学习实践SEO?
  3. vue.js基础知识篇(3):计算属性、表单控件绑定
  4. 创建springbootdemo后运行报MongoSocketOpenException错误解决方法
  5. Java对象的创建
  6. JavaScript函数使用和DOM节点
  7. 第一行代码_activity生命周期
  8. JSP页面中<%!%>与<%%>与<%=%>
  9. Android studio 安装的安装一些问题
  10. Json作为配置文件注意事项