树状sql--采用递归方式获取节点
创建数据库
create table City
(
id varchar(3) primary key ,
pid varchar(3) ,
name varchar(10)
)
插入数据
insert into City values('001' , null , '广东省');
insert into City values('002' , '001' , '广州市');
insert into City values('003' , '001' , '深圳市') ;
insert into City values('004' , '002' , '天河区') ;
insert into City values('005' , '003' , '罗湖区');
insert into City values('006' , '003' , '福田区') ;
insert into City values('007' , '003' , '宝安区') ;
insert into City values('008' , '007' , '西乡镇') ;
insert into City values('009' , '007' , '龙华镇');
insert into City values('010' , '007' , '松岗镇');
insert into City values('011' , null , '中国');
递归子节点的存储过程:
create proc ProcCity
@id nvarchar(36)
as
begin
with cte as
(
select a.id,a.name,a.pid from City a where id=@id
union all
select k.id,k.name,k.pid from City k inner join cte c on c.id = k.pid
)select * from cte
end
获取深圳以及深圳的所有区:exec ProcCity '003'

递归父节点的存储过程:
create proc ProcCity
@id nvarchar(36)
as
begin
with cte as
(
select a.id,a.name,a.pid from City a where id=@id
union all
select k.id,k.name,k.pid from City k inner join cte c on k.id = c.pid
)select * from cte
end
获取深圳以及深圳的所有父节点:exec ProcCity '003'

树状sql--采用递归方式获取节点的更多相关文章
- Spring-Security (学习记录四)--配置权限过滤器,采用数据库方式获取权限
目录 1. 需要在spring-security.xml中配置验证过滤器,来取代spring-security.xml的默认过滤器 2. 配置securityMetadataSource,可以通过ur ...
- 采用“传统”方式获取当前HttpContext
我们知道"依赖注入"已经成为了.NET Core的基本编程模式,表示当前请求上下文的HttpContext可以通过注入的IHttpContextAccessor服务来提取.有时候我 ...
- EasyUI Tree递归方式获取JSON
最近需要用到EASYUI中的TREE功能,以前我是直接拼接成<UL><LI>发现这样拼完之后在更改树后对树的刷新不是很理想,现改用JSON格式,首先分析TREE中JOSN格式如 ...
- java File类 打印目录树状结构(递归)
import java.io.File; /** * 递归遍历 * */ public class FieTree { public static void main(String[] args) { ...
- 洛谷P3374 【模板】树状数组 1&&P3368 【模板】树状数组 2题解
图片来自度娘~~ 树状数组形如上图,是一种快速查找区间和,快速修改的一种数据结构,一个查询和修改复杂度都为log(n),树状数组1和树状数组2都是板子题,在这里进行详解: 求和: 首先我们看一看这个图 ...
- hdu1166:敌兵布阵(树状数组或线段树)
题目描述: 一堆废话不用看...... 输入: 第一行一个整数T,表示有T组数据.每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表 ...
- zoj 2112 单点修改的主席树(树状数组套主席树)
题目大意: 区间第k大问题+单点修改 基本思路: 这个题有用整体二分,cdq分治,还有主席树+平衡树的,还有就是主席树+树状数组. 我采用的是b站电子科大大佬的主席树写法,尤其喜欢他的离散化方法,所以 ...
- D3树状图给指定特性的边特别显示颜色
D3作为前端图形显示的利器,功能之强,对底层技术细节要求相对比较多. 有一点,就是要理解其基本的数据和节点的匹配规则架构,即enter,update和exit原理,我前面的D3基础篇中有介绍过,不明白 ...
- 【BZOJ】1146: [CTSC2008]网络管理Network(树链剖分+线段树套平衡树+二分 / dfs序+树状数组+主席树)
http://www.lydsy.com/JudgeOnline/problem.php?id=1146 第一种做法(时间太感人): 第二种做法(rank5,好开心) ================ ...
随机推荐
- Source Insight编辑器配置
Sublime Text 无疑是一款很优秀的编辑器和阅读器,可惜对于中文编码不支持,网上的ConvertTOUTF8存在BUG,经常转码失败,体验很不好. 现在开始使用source insight,这 ...
- POJ 1743 Musical Theme 二分+后缀数组
Musical Theme Description A musical melody is represented as a sequence of N (1<=N<=20000)no ...
- form-line 样式 让 两个控件在同一个水平位置
<div class="row"> <div> <label class="form-inline">参加单位:<in ...
- 简述UIScrollView的属性和用法
contentOffset 默认CGPointZero,用来设置scrollView的滚动偏移量. // 设置scrollView的滚动偏移量 scrollView.conte ...
- language level in Intellij IDEA
The Language level setting sets which features the code assistance in the editor should support. For ...
- Eclipse 报java.lang.OutOfMemoryError: PermGen space错
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage C ...
- Velocity 语法(转)
一.基本语法 1."#"用来标识Velocity的脚本语句,包括#set.#if .#else.#end.#foreach.#end.#iinclude.#parse.#macro ...
- bzoj 4445 [SCOI2015] 小凸想跑步
题目大意:一个凸包,随机一个点使得其与前两个点组成的面积比与其他相邻两个点组成的面积小的概率 根据题意列方程,最后求n条直线的交的面积与原凸包面积的比值 #include<bits/stdc++ ...
- 安卓中級教程(4):ScrollView與ListView之間的高度問題
在scrollView中加插ListView是一個大難題.其中一個難題是Listview的高度難以計算,輸出效果往往強差人意,就讓我們看看當中的問題 . <LinearLayout xmlns: ...
- springboot+redis
上篇整合了DB层,现在开始整合缓存层,使用redis. springboot驱动注解,使用spring注入JedisPool便可封装自己的redis工具类. package hello.configu ...