`
mncc
  • 浏览: 54228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle层次化查询(新)

阅读更多

今天要通过一个组织机构树通过得到机构编号向上得到所有的父级机构的用户列表。

怎么办,肯定是用层次化查询了。

 

记得原来的文章里边有帖子。。。。黏贴过来。。。结果发现会报错:ORA-01436

 

这个是因为父节点和子节点有链接上的错误,可能会出现循环。(就是父节点的父节点又链接到子节点一样,有死循环)

 

后来没办法。

 

最后再ITPUB上看见了一个NOCYCLE的关键字,就是用来防止死循环这种情况的。

 

加上就好了:

 

SELECT LEVEL, t.* FROM table_name t
 START WITH column_name=?
  CONNECT BY NOCYCLE PRIOR column_father_name=column_name; 

LEVEL是一个关键字,用在层次化查询中,用于标识该行结果所在的层次。查询出来的LEVEL是数字。

 

 注:这样子查到的是所有的父机构,但是关键字LEVEL,就是第几层是反着的,也就是说LEVEL越大,他越是高级机构。

 

要查子机构,最后的PRIOR 之后换成column_name=column_father_name就可以了。

 

 


 

 

0
0
分享到:
评论

相关推荐

    oracle 的包,层次化查询和触发器视频教程

    本教程主要涵盖Oracle数据库中的“包”、“层次化查询”和“触发器”这三个关键概念,对于初学者来说,理解并掌握这些知识对于进一步深入学习Oracle数据库至关重要。 首先,让我们详细探讨“包”(Package)。在...

    Oracle 11g教程(包,层次化查询,触发器)

    通过视频的方式详细叙述Oracle 11g中包,层次化查询和触发器的用法

    oracle层次查询

    ### Oracle层次查询详解 在Oracle数据库中,处理具有层次结构的数据是一项常见的需求,尤其是在企业管理、财务分析、组织架构展示等领域。Oracle提供了强大的`CONNECT BY`子句,它能够有效地进行层次查询,帮助用户...

    Oracle层次查询功能的剖析.pdf

    Oracle层次查询功能是Oracle数据库系统中的一个重要特性,它在关系型数据库管理中为处理具有层级关系的数据提供了便利。本文主要探讨了如何利用Oracle的层次查询功能处理和展示类似树形结构的数据。 首先,层次结构...

    oracle 层次化查询(行政区划三级级联)

    Oracle 层次化查询是数据库管理系统中用于处理具有层级关系数据的一种强大工具。在这个特定的案例中,我们看到的是一个行政区划数据表,其中包含了中国的省份、城市和县的编码。行政区划代码的设计使得通过检查特定...

    Oracle 实战SQL层次查询

    ### Oracle 实战SQL层次查询详解 #### 一、层次查询概念 层次查询,也被称为树型结构查询,是在SQL中最常见的功能之一。这种查询方式主要用于处理具有层级结构的数据,例如组织架构、产品分类等场景。在Oracle...

    oracle 层次查询

    高级sql关于层次查询更新 对于层次查询需要掌握: 1.解释层次查询的基本概念,识别需求中需要用到层次查询的能力。 2.建立和格式化一个树形报表(tree report)。 3.修剪树形结构的节点(node)和枝(branches)。

    oracle高层次知识

    ### Oracle高层次知识详解 #### 一、Oracle表分析的作用 Oracle表分析主要用于优化查询性能,通过对表中的数据分布情况进行统计,帮助数据库优化器选择最佳的查询执行路径。表分析涉及的关键概念包括: - **统计...

    数据库开发 Oracle数据库 SQL开发教程 第10章 层次查询(共17页).pdf

    在学习层次查询时,首先要理解自然树结构的概念,这通常指的是数据表中的一行数据可以有多个子行,而每个子行又有自己的子级,形成一个层次化的结构。例如,EMP表中的数据就展示了员工的上级-下级关系,形成了一个...

    Oracle经典教程1——走进Oracle

    2. **Oracle SQL Developer**:一款图形化工具,支持多种数据库操作,包括查询、编辑和管理数据库对象等功能。 3. **Oracle Enterprise Manager (OEM)**:提供了一个集中式的管理平台,可以监控和管理整个Oracle环境...

    零点起飞学Oracle

    SQL(结构化查询语言)用于查询、插入、更新和删除数据库中的数据。学习Oracle SQL,你需要理解DML(数据操纵语言)如SELECT、INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER、DROP等语句。此外,...

    达内,tarena,oracle笔记,oraclePPT课件,达内oracle笔记

    2. **SQL语言**:SQL(结构化查询语言)是操作Oracle数据库的核心工具。通过SQL,我们可以创建、修改和查询数据库对象,如表、视图、索引等。在达内的Oracle笔记中,可能会详细讲解SELECT语句用于数据检索,INSERT、...

    Toad for Oracle 中文使用指南

    - **创建和管理连接**:涵盖如何创建新的 Oracle 数据库连接,以及如何管理这些连接。 - **基本连接控制**:提供连接控制的基本操作,比如断开连接、重新连接等。 - **管理多个连接**:讲解如何在同一时间内管理多个...

    Oracle电子教案、Oracle课堂笔记.rar

    6. Oracle数据库的最新发展:可能包含Oracle 12c、19c等新版本引入的新功能和改进。 通过这两部分的学习资料,学习者可以系统地了解Oracle数据库,从基础概念到高级特性的应用,为进一步的数据库管理和开发打下坚实...

    Oracle9.0入门 数据库

    10. **Oracle9.0的新特性**:Oracle9.0相比之前的版本引入了一些新特性,例如增强的并行执行、自动内存管理等,这些都值得学习和了解。 这个PDF格式的英文版教程可能会提供详细的步骤和示例,帮助读者逐步掌握...

    ORACLE数据库设计与优化

    1. 规范化理论:在设计Oracle数据库时,遵循第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及更高层次的规范化,以减少数据冗余和提高数据一致性。 2. 数据库模式:通过创建逻辑视图(如星型模型、雪花模型...

    Oracle数据库系统应用与开发

    Oracle数据库系统是Oracle公司开发的,它采用SQL作为查询语言,支持分布式数据库、事务处理、备份恢复等多种功能。Oracle以其强大的性能、安全性及可扩展性闻名,广泛应用于金融、电信、政府等多个领域。 二、...

    oracle齐全,这里面包含了所有的oracle例题

    Oracle数据库在开发和运维中涉及到许多工具,如SQL*Plus用于交互式查询,SQL Developer作为图形化开发工具,企业管理器(EM)用于直观监控和管理数据库,以及Toad、PL/SQL Developer等第三方工具。此外,还要熟悉...

Global site tag (gtag.js) - Google Analytics