MS SQL Server递归查询

原文:MS SQL Server递归查询

刚才在论坛上看到网友一个要求。参考如下,Insus.NET分析一下,可以使用MS SQL Server的递归查询,得到结果。

准备一张表:

根据网友提供的数据,填充此表:

下面语法在SQL Server 2014之下运行正常:

上面代码示例中,完整SQL代码:

WITH TempDeptment ([ID],[PID],[DeptName],[Conjunction]) AS
(
    SELECT [ID],[PID],[DeptName], CAST([DeptName] AS Nvarchar(1000)) FROM [dbo].[Deptment] WHERE [PID] = 0
    UNION ALL
    SELECT d.[ID], d.[PID], d.[DeptName], CAST(([Conjunction] + N'/' + d.[DeptName]) AS Nvarchar(1000))    FROM TempDeptment AS td,[dbo].[Deptment] AS d WHERE td.[ID] = d.[PID]
)
SELECT [ID], [Conjunction] FROM TempDeptment

View Code

运行结果:

 

  Insus.NET以前也没有在SQL中实现过递归,现刚好有一个实例,算是练习了。

 

时间: 2024-10-29 19:59:21

MS SQL Server递归查询的相关文章

在Linux 下 访 问MS SQL Server 数 据 库(转载)

server 宁 波 保 税 区 官 委 会 计 算 中 心 董 保 华 ---- Linux 作 为 一 个 免 费 的Unix 类 操 作 系 统, 以 其 开 放 性 源 代 码. 多 任 务.X window 等 特 点 为 众 多 的 用 户 所 采 用, 并 有 很 多 企 业 采 用Linux 来 作 为 其 内 部 网 的 全 功 能 服 务 器(WWW,FTP,Email.DNS). 企 业 的 内 部 网 不 仅 要 提 供 文 本 信 息 的 访 问, 还 要 能 提 供

MS SQL Server MFC DAO 类和 MFC ODBC 类:我使用哪个类集?

odbc|server MS SQL Server MFC DAO 类和 MFC ODBC 类:我使用哪个类集?这篇文章详细讲述了 Microsoft Jet 如何使用 ODBC 检索服务器数据.对于所有用 DAO 编写重要服务器应用程序的人,这都不失为一篇必读文章."ODBC:Architecture,Performance,and Tuning",作者:Lambert.Colleen. 本白皮书提供对 ODBC 工作方式的良好概述,并以现实.有用的方式讲述了性能问题. 结论 MFC

MS SQL Server 2000数据转换服务部署

server|数据|转换 1. 目标 MS SQL Server做大数据量传输的时候,我们大多会用到数据传输服务.现在假设,在开发环境下,我们已经设计好了DTS包并且运行良好,接下来我们要做的事情是迁移和部署这个DTS数据包.所以,我们需要把设计环境下的DTS包保存成结构化的存储文件,并且这个文件导入到目标环境下的MS SQL Server中,最后添加作业,让MS SQL Server Angent在我们预期的事情执行这个DTS包完成数据传输工作.其中需要重点解决的一个问题是,在目标环境中,DT

MS SQL SERVER 图像或大文本的输入输出

server 在MS SQL SERVER 安装目录下有个可执行文件叫 TEXTCOPY.EXE 可对 MS SQL SERVER 中的文本或图像数据进行输入输出. 不过你可以在MS-DOS方式下执行textcopy /? 得到它的描述. 下面是这个工具的描述: Copies a single text or image value into or out of SQL Server. The value is a specified text or image 'column' of a si

MS SQL Server查询优化方法(1)●查询速度慢的原因很多,常见如下几种:

server|速度|优化 MS SQL Server查询优化方法(1) ●查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源.9.返回了不必

MS SQL Server数据库查询优化及分页算法

server|分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE

MS SQL Server 对文件内容进行全文检索的查询

server|全文检索   因为项目需要,需要对上传的文件内容进行查询.通过MSDN了解到Windows索引服务可以实现对文件的全文检索,并可以通过SQL Server进行查询.项目将这两者结合,实现对上传文件的全文检索的解决方案.方案概要:1.  改变文件存储时的文件名2.  配置索引服务器,并将索引服务器与MS SQL Server关联.3.  修改SQL语句,将进行全文查询语句的内容加入查询条件中 文件的存储方式:为了方便存储以及方便索引,我们将上传的文件存储到一个目录里面,为了保证上传的

远程检测MS SQL Server账号安全性

server|安全|安全性 ODBC是开放数据互连(Open Database Connectivity)的简称,它是一个用于远程访问数据库(主要是关系型数据库)的统一界面标准. ODBC下现实运用中是一个数据库的访问库,它提供了一组ODBC API函数可以提供给编程者使用.对于程序员来说,ODBC API函数集实际上等于一个动态连接库(DLL)集,可以在应用程序中直接使用它们. 一个应用程序直接调用ODBC API函数来进行数据库的应用工作,工作过程一般比较复杂.其中一种办法大概是以下几步:<

从access到MS SQL SERVER数据导入?

access|server|数据   一般有两种方法:   一是使用ms sql server 的DTO进行导入操作,一步一步按提示操作就行了.但这个过程中可能有的字段属性会改变,主键也没了.通常这种方法要sql建表语句配合使用. 另外一种方法是采用access提供的数据库升迁向导,前面的几个bug都没有了,目前还没有发现什么隐含的bug.这个升级方法应该是首选了.