在SQL Server 实现递归
--在SQL Server 中其实提供了CTE[公共表表达式]来实现递归:
- Declare @Id Int
- Set @Id = 24; ---在此修改父节点
- With RootNodeCTE(Id,ParentId)
- As
- (
- Select Id,ParentId From Dept Where ParentId In (@Id)
- Union All
- Select Dept.Id,Dept.ParentId From RootNodeCTE
- Inner Join Dept
- On RootNodeCTE.Id = Dept.ParentId
- )
- Select * From RootNodeCTE
表结构(数据为纵向的):
/****** Object: Table [dbo].[Sys_Role] Script Date: 2015/2/16 13:17:55 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
CREATE TABLE [dbo].[Sys_Role](
[ID] [nvarchar](36) [PRIMARY] NOT NULL,
[RoleName] [nvarchar](20) NOT NULL,
[ParentID] [nvarchar](36) NULL,
[UpdateBy] [nvarchar](50) NULL,
[UpdateDate] [datetime] NULL)
在SQL Server 实现递归的更多相关文章
- 学习笔记——SQL SERVER的递归
SQL SERVER似乎天然具有支持递归的属性. 1.比如说,有几次,我编写或修改存储过程的时候,为图方便,在末尾随手写上 执行这个存储过程 的语句,比如 [sql] view plaincopy A ...
- SQL Server利用递归把所有【子部门员工】汇总到【一级根节点部门】
前言 说起这个需求,有点反常规,左边是组织机构树,右边是组织机构对应的员工列表.点击左侧组织机构时传一个组织机构ID,然后查询该组织机构以及其所属的一级节点,如果有部门直属单击节点组织机构,则挂出来员 ...
- Sql Server CTE递归
WITH cte AS ( SELECT a.FNUMBER,a.FMATERIALID AS MainId,b.FMATERIALID AS ChileID,CAST(b.FMATERIALID A ...
- SQL SERVER 2008递归
tab1 表结构: create tab1 ( id int primary key identity(1,1), parentid int not null, name varchar(25) ) ...
- sql server生成递归日期
WITH Date AS ( SELECT CAST('2008-08-01' AS DATETIME) da UNION ALL FROM Date WHERE da < '2008-08-2 ...
- sql server CTE递归使用测试
--CTE递归查询 if(object_id(N'menu') > 0) drop table menu CREATE TABLE MENU ( name nvarchar(50) NOT NU ...
- SQL Server With 递归 日期 循环
要实现的效果:查询从Date From 到 To 之间的 所有日期: 示例代码如下: DECLARE @DATE_FROM DATETIME = N'2016-05-16';--N'2015-05-1 ...
- SQL SERVER with递归示例一则
WITH SUBQUERY AS ( SELECT ORGID FROM OM_ORGANIZATION WHERE PARENTORGID = 'ROOT' UNION ALL SELECT B.O ...
- sql server生成递归日期、连续数据
WITH Date AS ( SELECT CAST('2008-08-01' AS DATETIME) da UNION ALL FROM Date WHERE da < '2008-08-2 ...
随机推荐
- Java数值转化为二进制、十进制、十六进制字符串
int i = 123;String binStr = Integer.toBinaryString(i); String otcStr = Integer.toOctalString(i); Str ...
- Xfire soapHeader的WebService权限控制forjava
研究webservice有一段时间了,觉得用soapHeader来控制访问比较简单,特贴出代码以供大家分享 1.我们可以做一个很简单的ws测试,服务端的接口代码如下: package ws; //Ge ...
- 惊人事实 z
- remove all event handlers from a control
The sample code below will remove all Click events from button1 public partial class Form1 : Form { ...
- CCR源码分析-CCR架构
CCR,并发与协调运行时(Concurrency and Coordination Runtime).从名字里我们就可以知道,这个东东是用来简化并发程序设计的.为何要并发呢?因为我们有多个任务需要处理 ...
- HDU2520 我是菜鸟,我怕谁
http://acm.hdu.edu.cn/showproblem.php?pid=2520 我是菜鸟,我怕谁 Time Limit: 2000/1000 MS (Java/Others) Memor ...
- 免费的SqlServer优化辅助工具:SqlOptimize (原创)
主要用于收集客户服务器的数据库运行情况,导出-导入到本地分析. 本工具不会修改你的数据和结构,只会读取相关数据. 1)工具软件下载 http://files.cnblogs.com/files/dud ...
- 【转】Compile FFmpeg on CentOS 6.x
This guide is based on a minimal CentOS installation and will install FFmpeg with several external e ...
- Linux串口调试
shell方式 1.使用minicon -s配置串口并保存: 2.使用setserial /dev/ttyUSB0 -a等查看串口配置: 3.接收侧cat /dev/ttyUSB0等待串口输出: 4. ...
- 删除旧Ambari集群
年少无知,安装了1.2.0版本.开源社区动力太强,更新的吼吼的跟不上啊,升级发生错误,于是就想重装了.在网上找到了一个很好的删除脚本,分享一下.原文链接 http://www.cnblogs.com/ ...