请教一个递归sql的写法

我想得到

请教下各位,这个sql该怎么写。

------解决方案--------------------

引用:哦,想要的结果格式错了。

with t as

(select 0 id_dir, null id_dir_p, '/' dir_nm

from dual

union all

select 1 id_dir, 0 id_dir_p, 'test' dir_nm

from dual

union all

select 2 id_dir, 0 id_dir_p, 'test2' dir_nm

from dual

union all

select 3 id_dir, 2 id_dir_p, 'test2_01' dir_nm

from dual

union all

select 4 id_dir, 2 id_dir_p, 'test2_02' dir_nm from dual)

select id_dir,

regexp_replace(ltrim(min(SYS_CONNECT_BY_PATH(dir_nm, ',')), ','),

'[/]?,',

'/')

from t

connect by prior id_dir = id_dir_p

group by id_dir

order by id_dir;

------解决方案--------------------

WITH a AS(

SELECT 0 id_dir1,NULL id_dir2,'' dir_name FROM dual

UNION ALL

SELECT 1,0,'TEST' FROM dual

UNION ALL

SELECT 2,0,'TEST2' FROM dual

UNION ALL

SELECT 3,2,'TEST2_01' FROM dual

UNION ALL

SELECT 4,2,'TEST2_02' FROM dual

)

SELECT id_dir1 id_directory,regexp_replace(sys_connect_by_path(dir_name,'/'),'^/{2}','/')directory_name FROM a

START WITH id_dir1=0 CONNECT BY  PRIOR id_dir1=id_dir2  ORDER BY id_directory

主要用到了层次化查询和正则表达式

oracle 写递归,请问一个递归sql的写法相关推荐

  1. Oracle 写存储过程的一个模板还有一些基本的知识点

    我很少用Oracle,也算新手,不过其实入手没有那么难,下面只是一个基本知识,高手绕道,其实数据库基本是相同的,这里提供都是基本知识点 有一个Oracle溢出的问题,容易让新手怀疑到无所怀疑,其实就是 ...

  2. oracle写java文件_Oracle PL/SQL java读写文件权限问题得到解决

    在ORACLE中PL/SQL利用java读取文件 参考了 的内容,但是出现如下错误: Exception in thread "Root Thread" java.security ...

  3. 递归函数非递归化_递归神秘化

    递归函数非递归化 by Sachin Malhotra 由Sachin Malhotra 递归神秘化 (Recursion Demystified) In order to understand re ...

  4. java递归怎么写_什么是递归?用Java写一个简单的递归程序

    什么是递归?用Java写一个简单的递归程序 递归的定义 递归(recursion):以此类推是递归的基本思想,将规模大的问题转化为规模小的问题来解决. 递归的要素 自定义递归函数,并确定函数的基本功能 ...

  5. TypeScript 2.1中的类型运算 一个递归的Readonly泛型

    去年12月的 TypeScript 2.1 中加入了 keyof / Lookup Types / Mapped Types 等 (编译期的) 类型运算特性. 本文将介绍这些特性,并用这些特性实现一个 ...

  6. 递归循环一个无限极数组_理解递归、尾调用优化和蹦床函数优化

    想要理解递归,您必须先理解递归.开个玩笑罢了, 递归 是一种编程技巧,它可以让函数在不使用 for 或 while 的情况下,使用一个调用自身的函数来实现循环. 例子 1:整数总和 例如,假设我们想要 ...

  7. 在Oracle中写出性能优良的SQL语句

    我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器 ...

  8. 用java编写一个故事的程序_使用Java怎么编写一个递归程序

    使用Java怎么编写一个递归程序 发布时间:2021-02-20 16:05:44 来源:亿速云 阅读:52 作者:Leah 这篇文章将为大家详细讲解有关使用Java怎么编写一个递归程序,文章内容质量 ...

  9. c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...

    点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...

  10. 编写程序C语言 用递归法求n,用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n...

    用C语言编写一个递归程序用来计算:1*2+2*3+3*4+.+(n-1)*n以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...

最新文章

  1. D3.js系列——初步使用、选择元素与绑定数据
  2. SCLS:拟南芥二半萜类化合物调控根系微生物组
  3. C++面试题--(五)
  4. (积累)java里的套接字
  5. 如何修改maven默认jdk配置
  6. Shiro笔记(三)授权
  7. 【NLP】文本分类还停留在BERT?对偶比学习框架也太强了
  8. Linux_2.6字符设备驱动实例
  9. If 的替代词汇:unless、in case..._60
  10. 一秒点击手机屏幕次数_抓住夏天的尾巴|与自动点击评论器邂逅一次
  11. 在控制台远程连接mysql数据库时,出现ERROR 2049 (HY000)错误
  12. 从物理页面的争抢看linux内核内存管理
  13. 【翻译】Drafting and Revision: Laplacian Pyramid Network for Fast High-Quality Artistic Style Transfer
  14. 国际项目投标那些事(六)投标文件怎么写才能惊呆业主 WTSolutions
  15. Sql语法-Oracle
  16. 华为机试练习(十二)叠积木
  17. win10 .Net Runtime Optimization Service占用大量CPU资源解决方法
  18. android官网m魅族15,魅族15/Plus/Lite等机型现身Android官网:设计惊艳
  19. 一个电脑可以装两个java么,是否可以在一台计算机上安装多个Eclipse?
  20. 阿里云服务器安全组开放指定端口无法访问问题记录

热门文章

  1. Python高级特性之---切片操作
  2. Linux 部分(tcp\ip)系统内核优化
  3. 80sec被黑原因分析
  4. 我的 fedora 14 安装备忘
  5. RedHat Linux 5.2 网关及安全应用
  6. SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)...
  7. Python对zip、tgz、rar压缩包的解压与读取
  8. 【狂神说Redis】2Redis入门 2-4 Redis基础知识
  9. ping 丢包 网络摄像头_Ping丢包故障案例
  10. html页面添加视频背景设置为自动播放,打开网址就会自动播放,简单有效亲测