if exists (select * from sys.all_objects where name='GetOrgTree')
begin
drop function GetOrgTree
end
go
create function GetOrgTree (@OrgID int)
returns @tb table (id int,Orgname varchar(20),ParentID int)
as
begin
--注意这里的表名是上面新建的表 tb_menu
--这条语句是插入跟@OrgName相同的这条记录 这里假设是天津
insert @tb select id,OrgName,ParentID from tabOrg where id = @OrgID
--返回受上一语句影响的行数
while @@rowcount > 0
-- 将上次的ID做为查询条件在进行插入操作,
--父ID在@tb中 现在@tb中的ID为 3 因为上面是天津 即where pid in (3)
--并且id 不在@tb中 and id not in (3)
--这里需要大家理解下
insert @tb
select id,OrgName,ParentID from tabOrg
where ParentID in (select id from @tb)
and id not in (select id from @tb)
--最后返回@tb
return
end

--select * from dbo.GetOrgTree(1)

mssql语句递归查找所有下级的更多相关文章

  1. sqlserver通过递归查找所有下级或上级部门和用户的操作实例

    --查找当前用户所在部门的所有下级包括当前部门 with cte as ( as lvl from Department union all from cte c inner join Departm ...

  2. 经典MSSQL语句大全和常用SQL语句命令的作用

    下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL类型包括数据库.表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML类 ...

  3. PHP 递归无限极下级

    下面是自己用到的一些递归方法,当然都是借鉴的,各位看官请勿怪 第一种 有层级 $array = array( array('id' => 1, 'pid' => 0, 'n' => ...

  4. SQL Server使用WITH AS递归查找

    很多时候我们会在数据库表中存储树结构的数据,如菜单:一级菜单.二级菜单.三级菜单... 如果树结构层次比较多,如何能够在只知道某节点的情况下,找到此节点下的所有子级数据呢? 在.NET后台可以定义一个 ...

  5. 【Linq递归查找系列】

    Linq递归查找: public IEnumerable<MenuInfo> GetTree(int id, IEnumerable<MenuInfo> lst) { var ...

  6. php递归查找指定目录下及子文件名称是否包含中文空格及括号

    //php递归查找该目录下及子文件名称是否包含中文空格括号 function searchDir($path,&$data){ if(is_dir($path)){ $dp=dir($path ...

  7. find 递归/不递归 查找子目录的方法

    1.递归查找(find 命令 是递归遍历文件夹的) 命令:find . -name “*.txt” //当前路径下递归查找以.txt结尾的文件夹 2.不递归查找 find . -name “*.txt ...

  8. linux递归查找文件内容并替换

    sed -i 's/原字符串/替换后字符串/g' `grep '搜索关键字' -rl /data/目标目录/ --include "*.html"` 上面是递归查找目录中所有的HT ...

  9. [javaSE] IO流(递归查找指定文件)

    递归方法,实现查找目录中以.java为后缀的文件路径,并存入文本文件中 定义一个静态方法fileToLine(),传入参数:File对象目录,List集合对象(List<File> 这样做 ...

随机推荐

  1. getViewTreeObserver

    在项目中或多或少会遇一一些异步的操作,比如自定中不能马上获取到高度用测试可以得到.. final View headerView = View.inflate(this, R.layout.layou ...

  2. Python做简单爬虫(urllib.request怎么抓取https以及伪装浏览器访问的方法)

    一:抓取简单的页面: 用Python来做爬虫抓取网站这个功能很强大,今天试着抓取了一下百度的首页,很成功,来看一下步骤吧 首先需要准备工具: 1.python:自己比较喜欢用新的东西,所以用的是Pyt ...

  3. [原创]用Oreans UnVirtualizer还原VM代码

    标题:[原创]用Oreans UnVirtualizer还原VM代码实验 作者:sungy 时间:2014-09-18 对VM一直很头痛,在逆向实践一般尽量想办法避开它,当黑盒来处理.有时候不面对她又 ...

  4. java基础---->FilenameFilter之文件过滤

    FilenameFilter用于对列表中文件名的过滤,今天我们就开始java中FilenameFilter的学习.好多年了,你一直在我的伤口中幽居,我放下过天地,却从未放下过你,我生命中的千山万水,任 ...

  5. 开源的PaaS方案:在OpenStack上部署CloudFoundry (一)简介

    目录(?)[-] OpenStack简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的以Apache许可证授权并且是一个自由软件和开放源代码项目 OpenStack是一个云 ...

  6. @Apiimplicitparam的paramType

    转自:https://swagger.io/docs/specification/describing-parameters/ Parameter Types OpenAPI 3.0 distingu ...

  7. spring boot application.properties基本配置

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://loca ...

  8. 三进制状态压缩DP(旅行商问题TSP)HDU3001

    http://acm.hdu.edu.cn/showproblem.php?pid=3001 Travelling Time Limit: 6000/3000 MS (Java/Others)     ...

  9. 基础概念 之 Hadoop Family

    Hadoop家族的技术,网上资料多如牛毛,但是还是那句老话——好脑瓜不如烂笔头,看的再多也不如自己动手写一写. Hadoop是一个分布式系统,有两个关键组件——HDFS和MapReduce,HDFS负 ...

  10. Windows系统下做定时任务为Oracle数据库每天自动备份

    1.创建备份目录d:\backup, 创建批处理命令Bak.bat,编写备份脚本 ? 1 2 exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\b ...