SQL Server 递归

摘要:
SQLServer没有类似于OracleSTARTWITHNAME='xx'CONNECTBYPRIORID=PARENT_ID这样的语句,但是可以通过自定义标准函数+With语句实现,速度也是杠杠的ALTERFUNCTION[dbo].[RecursionSysLocation](--Addtheparametersforthefunctionhere@ParentIdnvarchar(36))

SQL Server 没有类似于OracleSTART WITH NAME='xx'CONNECT BY PRIOR ID=PARENT_ID这样的语句,但是可以通过自定义标准函数+With语句实现,速度也是杠杠的

ALTER FUNCTION  [dbo].[RecursionSysLocation](    
    --Add the parameters for the function here
    @ParentId nvarchar(36)
)
RETURNS TABLE 
AS
RETURN(
    with temp ( [Id], [parentid])
    as(
        selectId, ParentId
        fromSysLocation
        where ParentId = @ParentId
        union all
        selecta.Id, a.ParentId
        fromSysLocation a
        inner join temp on a.ParentId = temp.[Id])
    
    select s.Id, s.ParentId from SysLocation s where Id=@ParentId
    union all
    select * from temp)

免责声明:文章转载自《SQL Server 递归》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何创建AnimeJS 文本动画效果 | Anime.jsjava final .static修饰符下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SqlServer基础之(触发器)

SqlServer基础之(触发器)  阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器  概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是...

FreeRTOS系列第20篇---FreeRTOS信号量API函数

FreeRTOS的信号量包括二进制信号量、计数信号量、相互排斥信号量(以后简称相互排斥量)和递归相互排斥信号量(以后简称递归相互排斥量)。我们能够把相互排斥量和递归相互排斥量看成特殊的信号量。 信号量API函数实际上都是宏。它使用现有的队列机制。这些宏定义在semphr.h文件里。假设使用信号量或者相互排斥量。须要包括semphr.h头文件。 二进制信...

C# TreeView 建立、遍历树(递归)

刚接触treeview这个功能,恶补了几天,博主总结下实现的功能以备用,希望能帮到需要的亲~~ C#gui程序中建立树状结构、遍历树状结构、树状结构节点选中联动(选中父节点时,自动选中其全部子节点,取消选中的某子节点,取消其相应的所有父节点的选中),读取选中节点信息。 0.最初的父节点建立ParentNode = tv_user.Nodes.Add(OUn...

Sql server --触发器

概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA...

Python递归 — — 二分查找、斐波那契数列、三级菜单

一、二分查找 二分查找也称之为折半查找,二分查找要求线性表(存储结构)必须采用顺序存储结构,而且表中元素顺序排列。 二分查找: 1.首先,将表中间位置的元素与被查找元素比较,如果两者相等,查找结束,否则利用中间位置将表分成前、后两个子表。 2.如果中间位置元素<被查找元素,则开始位置 = 中间位置,结束位置 = 表的长度-1 3.如果中间位置元素&g...

Freertos学习:08-信号量

--- title: rtos-freertos-08-ipc-semaphore date: 2020-06-23 11:01:12 categories: tags: - freertos - ipc --- 章节概述: 介绍 FreeRTOS中的任务间通讯机制:信号量的使用(尽管FreeRTOS中没有进程的概念,但为了统一,我们还是以进程间通讯(IP...