实现技术: 存储过程   ,零时表(3)

一句话说完 :把父级查询下来的子级ID 保存成零时表,并且将符合子级ID数据添加到另一张零时表。

       同时清空数据时需要使用到一张零时表作为容器;

alter PROCEDURE sel_sum
@a int  
AS
BEGIN

select  id,nodename ,pid  into #fz from treenodes  where  id=@a--创建零时表,并且将最上级id添加记录
select id into  #array from treenodes  where  pid=@a --创建子id零时表,并且将子id添加到子id记录表
select id into  #array2 from treenodes  where  pid=@a  --子id 临时表二

while exists  ( select top(1) *  from #array) --如果下一级存在存在
begin
--将子级数据插入零时表  
insert  into  #fz(id,nodename ,pid)   select  id,nodename ,pid
   from treenodes
    where  id  in (
  select  id from  #array  )
 
delete #array2 ;   --清空零时表2
insert     into  #array2  select * from   #array ;
 
delete #array ; --清空
     --查询子级的下一级赋值给#array零时表   
insert    into  #array  
select id from   treenodes where pid  in(
    select  id from  #array2
   );
   
end  

select  * from #fz order by id
end

mysql  ,Oracle  原理相同

sqlserver 父子级查询(理念适应所有数据库)的更多相关文章

  1. oracle 父子级 查询

    SELECT * FROM T_ASSETS_TYPE t CONNECT by t.UNIQUE_CODE = prior t.SUP_ASSETS_CODE start with t.UNIQUE ...

  2. oracle父子级查询数据树结构

    select t.*, level , sys_connect_by_path (t .id, '-->') as tree from isc_res_res_r t connect by pr ...

  3. 一道关于数据库(经典父子级 ID 关联)更新题,大家帮忙想想还有其它解决思路没有?

    昨天,一同事发过来的一道数据库题目,就是哪种经典的父子级 ID 在同一数据库表中设计类型.需要在原表中添加一个字段,同时,将该节点的父子级详细信息插入到原表新增的一字段中,具体效果如下图. AreaC ...

  4. sqlserver利用链接服务器查询或同步本地数据库和远程数据库

    这个实际上是SQLserver的分布式查询:如果一个项目需要二至多台服务器,而我们又必须从几台服务器中将数据取出来,这就必须用分布式查询!在这里有两个概念:本地数据源.远程数据源!本地数据源指的是单个 ...

  5. SQLServer访问Oracle查询性能问题解决

    原文:SQLServer访问Oracle查询性能问题解决 1. 问题 系统有个模块,需要查询Oracle数据库中的数据.目前是通过建立链接服务器实现的. SQLServer访问Oracle实现 可参考 ...

  6. sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)

    sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器) 我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中跨实例访问Instanc ...

  7. Oracle、MySql、SQLServer数据分页查询

    看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...

  8. 互联网级监控系统必备-时序数据库之Influxdb集群及踩过的坑

    上篇博文中,我们介绍了做互联网级监控系统的必备-Influxdb的关键特性.数据读写.应用场景: 互联网级监控系统必备-时序数据库之Influxdb 本文中,我们介绍Influxdb数据库集群的搭建, ...

  9. 使用bitset实现毫秒级查询

    前言 因为业务要求api的一次请求响应时间在10ms以内,所以传统的数据库查询操作直接被排除(网络io和磁盘io).通过调研,最终使用了bieset,目前已经正常运行了很久 *** bitset介绍 ...

随机推荐

  1. 21. leetcode 492

    492: 给定一个面积值,求它的长l和宽w.长和宽需满足:长大于等于宽,长和宽的差值尽可能小,长乘宽等于面积. 思路:先将l和w初始化为sqrt(area),然后看l*w是否等于面积,如果等于则返回l ...

  2. 一个想法照进现实-《IT连》创业项目:一个转折一个反思

    前言: 距离上一篇介绍IT连创业项目的文章,已经过去2个月了,没想到我竟然这么久没写文章向大伙汇报进度了,实在抱歉. 关于这事,我得好好反省,认真检讨,好好写文,哈. 今天主要是讲述一下最近创业的进展 ...

  3. java垃圾回收过程

    对于年轻代,刚开始创建的对象都是放置在eden区的,而将年轻代分成3个部分,主要是为了生命周期短的对象尽量留在年轻代.当eden区申请不到空间的时候,进行minorGC,把存活的对象拷贝到survio ...

  4. LoadRunner入门(一)

    以LR自带的web系统为例(前提条件:已安装好lordrunner 11 ): 一.WebTours系统 是lordrunner自带一个飞机订票系统网站,支持IE浏览器 1. WebTours服务启动 ...

  5. 常用类:String,StringBuffer,StringBuilder

    String String类被final修饰符修饰,所以不能将其进行继承,所有对它的改变都要重新创建一个新的地址 1.String的构造器 String() String(byte []bytes)/ ...

  6. 【原创】Superset在windows下的安装配置

    Superset是由Airbnb(知名在线房屋短租公司)开源BI数据分析与可视化平台(曾用名Caravel.Panoramix),该工具主要特点是可自助分析.自定义仪表盘.分析结果可视化(导出).用户 ...

  7. C#开发微信公众号-学习笔记

    由于最近要做微信服务号的开发,所以开始找相关说明和接口文档开始学,故把学习过程及注意事项记录一下,帮助想学习的快速上手.废话不多少了,直接上干货! 1.申请微信公众号 这个就不需要多说了吧,大家直接照 ...

  8. c++类大小问题

    1.空类 class A { }; 解析:类的实例化就是为每个实例在内存中分配一块地址:每个类在内存中都有唯一的标识,因此空类被实例化时,编译器会隐含地为其添加一个字节,以作区分. 2.虚函数类 cl ...

  9. .net core 2.0学习笔记(三):度量.net framework 迁移到.net core的工作量

    把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持.两个类库的差异性,通过人工很难识别全.好在微软的工程师们考虑到了我 ...

  10. 2017年最新15个漂亮的 HTML 摄影网站模板

    摄影是一门艺术,它需要大量的耐心和努力工作来捕捉那些精彩的瞬间.如果你是一位热情的摄影师,想要建立一个网站来展示那些高质量的摄影作品,那么你找对地方了.本文包含15个最佳的摄影网站模板,你可以使用这些 ...