实际项目如遇到按照如地区这样树状结构的条件递归查询数据的场景中,可以使用。

CREATE FUNCTION [dbo].[GetAllChildrenTypeById]
(
@id varchar(50)
)
RETURNS TABLE AS RETURN
with cte as
(
SELECT [id]
,[dictionaryTypeCode]
,[text]
,[parentId]
,[sort]
,[availabl]
,[leaf]
,[url]
,[value] FROM [Dictionary] where ID = @id
union all
SELECT a.[id],a.[dictionaryTypeCode],a.[text],a.[parentId],a.[sort],a.[availabl],a.[leaf],a.[url],a.[value] FROM [Dictionary] a join cte b on a.[parentId] = b.Id
)
select id from cte GO

SQLSERVER的递归的更多相关文章

  1. sqlserver cte递归向上统计

    数据字典如下

  2. sqlserver 树结构递归(向上递归和向下递归)

    --获取当前及以下部门 Create proc GetCurrentAndUnderOrg @orgId int as begin WITH cte AS ( SELECT * ,0 AS level ...

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

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

  4. sqlserver with 递归用法

    DECLARE @companyid TABLE ( [Id] [int] ); with cte as( union all select a.Id from [base].[Company] a, ...

  5. mysql 树结构递归处理

    日常开发中我们经常会遇到树形结构数据处理,一般表结构通常会常用id,pid这种设计方案. 之前用oracle.sqlServer数据库,用相应的语法即可获取树形结构数据(oracel:connect ...

  6. SQL Server CET 通用表表达式 之 精典递归

    SQL2005 Common Table Expressions(CET)即通用表表达式. SQLSERVER CET递归使用案例: 1.普通案例 表结构如下:   ;WITH cet_depart ...

  7. SqlServer 三级联动、递归表

    SqlServer 省市县三级联动 三张表递归合并成一张表sql如下: insert into table2(area_name,area_parent_id) select province,'0' ...

  8. 妙用CTE,一条语句实现sql递归查询,SQLServer 递归

    数据库设计中经常碰到父子节点的关系结构,经常需要找到某个节点的根,或者某个节点的所有子节点,一般做法都是在业务层做递归的方式实现,或者数据库存储过程实现.但其实SQLServer提供的CTE可以很好的 ...

  9. SqlServer:SqlServer(sql,游标,定时作业,行转列,列转行,公用表达式递归,merge合并)

    1.加载驱动: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); DriverManager.getCo ...

随机推荐

  1. mybatis if test 判断字符串的坑

    今天调试一个非常简单的test判断字符串查询语句,怎么调试都是不好用,后来百度才发现,是我写的test标签写错了,我写成: <if test="record.current != nu ...

  2. DB(1):SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!!

    SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!! 出现这种报错,先检查命令类后面的参数是否混淆(SACommand s ...

  3. Qt: 执行cmd命令;

    QProcess p(NULL); p.setWorkingDirectory(szAppPath+"/database"); //指定工作路径,这个地方一定要设置: p.star ...

  4. codeforces-1133 (div3)

    A.先全部化成分钟数,取平均数之后化成正常时刻. #include <map> #include <set> #include <ctime> #include & ...

  5. python json相关问题

    关于字典和字符转化问题. 1.使用eval()(一般不推荐) eval is evil. 这种方法可能直接执行恶意代码. 2.使用json.loads()(极度推荐) 这种方法是推荐的,但是要注意细节 ...

  6. 目前的.NET 主流的后端ORM框架

    转自:https://www.cnblogs.com/yeminglong/p/9518438.html  推荐一些常用的asp.net ORM框架 SqlSugar (国内) Dos.ORM (国内 ...

  7. 基于jeesite的cms系统(二):整体设计

    一.菜单设计 在系统管理-菜单管理中可以设置内容管理菜单(自动生成) 注意:归属模块应属于核心模块core.如果新加的的菜单设置为内容管理模块cms,系统下次重启时会重置本次设置,具体原因不详. 二. ...

  8. delphi 获取时间戳 如何得到 和 js 中 new Date().getTime();的 相同?

    new Date().getTime();  //1533213439019 通过,启发 function DateTimeToUnix(const AValue: TDateTime): Int64 ...

  9. [转]ANR问题分析指南

    引言 每天收到无数的兄弟团队的同事向系统转ANR JIRA,有些一旦遇到App ANR就直接转到系统组,有些简单看一下就转到系统组帮忙看一下.如此浩瀚的JIRA,我们什么事不做也处理不过来,请每个Ap ...

  10. [经验交流] 试用基于 influxdb+kapacitor 的监控系统

    2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...