ORACLE的层次搜索问题

简介:
今天研发的一个同事和我讨论这样一个问题:
   
    公司中有多个部门和部门内的小组,如果知道一个部门或小组的编号,是否可以直接列出该部门或小组的所有上级和所有下级。
    例如:部门信息表[DEPTAB]
    部门编号       部门名称        上级部门
    【字段ID】   【字段DEP】    【字段PID】
     1                公司             0
     2               运维中心         1
     3               XX中心           1
     ......
     10               技术部           2
     ......
     20              数据支持组      10
     ......

    
    针对这个问题,我只好使用了一个比较笨的办法来实现

select * from DEPTAB
     sTART WITH ID= 10
       CONNECT BY  ID = PRIOR PID 
union 
select * from DEPTAB     
     START WITH v1= 10
       CONNECT BY  PRIOR ID =  PID;

    

   希望能提出更好的方法 -:)

本文转自Be the miracle!博客51CTO博客,原文链接http://blog.51cto.com/miracle/60188如需转载请自行联系原作者


Larry.Yue

相关文章
|
Oracle 关系型数据库
|
1月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
153 64
|
21天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
27 7
|
21天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
24 6
|
21天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
19 5
|
28天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
30天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
27 1
|
2月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
1月前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
55 3