`
jslfl
  • 浏览: 322387 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ORACLE connect by/sys_connect_by_path 生成(菜单)树全名称

阅读更多
树形表结构时,经常需要看一个节点的全名称(层级的父节点名称)

id  name      pid
1   设计资料  -1
2   目录二    1  
3   设计      1  


select t.id,t.name,t.pid,
       substr(sys_connect_by_path(t.name, '/'), 2) fullname1
sys_connect_by_path(t.name, '/') fullname2
  from doc_folder t
start with t.pid = '-1'
connect by prior t.id = t.pid


id  name      pid  fullname1         fullname2
1   设计资料  -1   设计资料      /设计资料
2   目录二    1    设计资料/目录二   /设计资料/目录二
3   设计      1    设计资料/设计     /设计资料/设计
分享到:
评论

相关推荐

    connect_by_path和connect_by_root比较总结

    通过实例比较了 SYS_CONNECT_BY_PATH 和 CONNECT_BY_ROOT 的异同,和返回树形的数据结构

    sys_connect_by_path的用法20220526.txt

    行列转换,层级关系,oracle sys_connect_by_path的用法

    oracle sys_connect_by_path 函数 结果集连接

    Oracle的`sys_connect_by_path`函数是一个非常有用的工具,尤其在构建树状结构的数据时。在本文中,我们将深入理解这个函数以及如何将其应用于非树结构的数据以生成所需的结果。 `sys_connect_by_path`函数的基本...

    ORACLE查询树型关系(connect_by_prior_start_with)

    从 Oracle 9i 开始,可以通过 SYS_CONNECT_BY_PATH 函数实现将父节点到当前行内容以“path”或者层次元素列表的形式显示出来。 使用 START WITH 和 CONNECT BY 子句,可以 select 数据具有层次关系的数据,通常是...

    oracle connect by level 应用

    `CONNECT BY`还可以结合`SYS_CONNECT_BY_PATH`函数,用于返回从起始节点到当前节点的路径。例如,我们可以添加一个路径列来显示每个员工的晋升路径: ```sql SELECT EMPLOYEE_NAME, MANAGER_NAME, SYS_...

    Oracle的Connect By使用示例

    SELECT LTRIM(SYS_CONNECT_BY_PATH(ID, '-'), '-') AS PATH, ID, NAME, LEVEL FROM TBL_TEST START WITH id = 1 CONNECT BY PRIOR id = pid; ``` - **解释**:利用`SYS_CONNECT_BY_PATH`函数构建出每条记录的...

    Oracle递归树形结构查询功能

    `sys_connect_by_path`函数与`CONNECT BY`配合使用,可以追踪节点在整个树中的路径。例如,它可以将每个节点的路径作为字符串返回,便于理解和分析树结构。 在实际应用中,例如组织结构的展示,我们可以创建一个...

    【Oracle】树状结构查询

    ### 显示全路径:`SYS_CONNECT_BY_PATH`函数 若需展示每个节点的完整路径,可以使用`SYS_CONNECT_BY_PATH`函数。这个函数会将从根节点到当前节点的路径串联起来,通常用特定字符(如'/')分隔各节点。 ```sql ...

    oracle-tree-sql.rar_oracle

    理解并熟练掌握`CONNECT BY`、`PRIOR`、`sys_connect_by_path`等关键字和函数,可以帮助我们更高效地处理树形结构的数据。在实际应用中,还需要考虑性能优化,如合理设计表结构和使用索引,以确保查询的效率。

    oracle11g静默安装配置文件

    安装过程通常是通过运行shell脚本来启动的,例如`./installoracle11g.sh -silent -responseFile /path/to/db_install.rsp`。一旦执行成功,Oracle 11g将按照配置文件中的设定完成安装和配置,大大减少了手动操作的...

    MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程

    在MySQL中,面对类似Oracle的`connect_by_isleaf`功能的需求,即查找并修改指定ID的所有子级记录,可以通过自连接、存储过程或者递归函数等方法实现。这里我们主要探讨两种MySQL的实现方式:一种是使用用户定义的...

    解决Oracle没有WM_CONCAT函数.zip

    SELECT REGEXP_REPLACE(SYS_CONNECT_BY_PATH(column, ','), '^,', '') AS aggregated_column FROM (SELECT column, CONNECT_BY_ROOT rowid as rid FROM table) START WITH rid = (SELECT MIN(rowid) FROM table) ...

    Oracle 数据库树形结构用法总结.mht

    Oracle 数据库树形结构用法总结,例如SYS_CONNECT_BY_PATH 、START WITH . . . CONNECT BY . . .等具体语法介绍

    oracle-sql

    总的来说,Oracle SQL提供了丰富的层次查询和数据清理工具,如SYS_CONNECT_BY_PATH、CONNECT_BY_ISLEAF、CONNECT_BY_ROOT和CONNECT_BY_ISCYCLE等,使得在处理层次结构数据和大量数据清理时更为便捷高效。同时,理解...

    oracle列合并的实现方法

    很多场合我们都会用到...sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,’,’)。这个

    oracle多行合并一行

    2. **第二步**:使用`SYS_CONNECT_BY_PATH`函数递归地遍历每一组中的所有记录,并生成一个由逗号连接的字符串。 ```sql SELECT n_sec_code, LEVEL lvl, SYS_CONNECT_BY_PATH(c_researcher_code, '/') text FROM...

Global site tag (gtag.js) - Google Analytics