[求助] start with connect by 奇怪的问题

Oracle 10.2.0.5  64bit .  测试数据库, 期间没有任何数据增加及删除 。


以下SQL 在toad中执行显示出来的结果为 18 笔      (备注: 单独执行蓝色部分为213笔)   。


SELECT     a.ID, a.parent_id, a.name_en, a.name_zh_tw, a.name_zh_cn,
           a.seq, a.TYPE,
           a.description
      FROM

      (SELECT DISTINCT ID, app_id, parent_id, seq, name_en, name_zh_tw,
                            name_zh_cn, TYPE, description, action
                       FROM (SELECT     a.*
                                   FROM pf_access_node a
                                  WHERE a.active_flag = '1'
                                    AND a.app_id =
                                            '159CBB0D0AA1237700A61D644DF26DC0'
                             START WITH (   EXISTS (
                                               SELECT *
                                                 FROM pf_role_user b,
                                                      pf_role c,
                                                      pf_role_access d
                                                WHERE c.active_flag = '1'
                                                  AND b.role_id = c.ID
                                                  AND c.ID = d.role_id
                                                  AND b.user_id =
                                                         'EE95B4040AB5132B00F449B85F0F18B4'
                                                  AND d.access_node_id = a.ID)
                                         OR EXISTS (
                                               SELECT *
                                                 FROM pf_agent
                                                WHERE active_flag = '1'
                                                  AND agent_type = 'FUNC'
                                                  AND agent_id =
                                                         '9EEF6CDA0A86825101AFF012F9B905C1'
                                                  AND ref_id = a.ID
                                                  AND NVL (start_date,
                                                           SYSDATE) <= SYSDATE
                                                  AND NVL (end_date, SYSDATE) >=
                                                                       SYSDATE)
                                        )
                             CONNECT BY PRIOR a.ID = a.parent_id
                             UNION
                             SELECT     a.*
                                   FROM pf_access_node a
                                  WHERE a.active_flag = '1'
                                    AND a.app_id =
                                            '159CBB0D0AA1237700A61D644DF26DC0'
                             START WITH (   EXISTS (
                                               SELECT *
                                                 FROM pf_role_user b,
                                                      pf_role c,
                                                      pf_role_access d
                                                WHERE c.active_flag = '1'
                                                  AND b.role_id = c.ID
                                                  AND c.ID = d.role_id
                                                  AND b.user_id =
                                                         'EE95B4040AB5132B00F449B85F0F18B4'
                                                  AND d.access_node_id = a.ID)
                                         OR EXISTS (
                                               SELECT *
                                                 FROM pf_agent
                                                WHERE active_flag = '1'
                                                  AND agent_type = 'FUNC'
                                                  AND agent_id =
                                                         '9EEF6CDA0A86825101AFF012F9B905C1'
                                                  AND ref_id = a.ID
                                                  AND NVL (start_date,
                                                           SYSDATE) <= SYSDATE
                                                  AND NVL (end_date, SYSDATE) >=
                                                                       SYSDATE)
                                        )
                             CONNECT BY PRIOR a.parent_id = a.ID)
                   ORDER BY parent_id, seq) a

                  
WHERE 1 = 1   
START WITH a.parent_id IS NULL
CONNECT BY PRIOR a.ID = a.parent_id   






使用create table test as xxxx ;  方式将蓝色部分值导入到一个测试表test  。





然后使用如下语句将上面蓝色部分替代为 test ,  结果查询出来的结果为 213 笔 。

SELECT     a.ID, a.parent_id, a.name_en, a.name_zh_tw, a.name_zh_cn,
           a.seq, a.TYPE,
           a.description
      FROM

      (test)  a
                  
WHERE 1 = 1   
START WITH a.parent_id IS NULL
CONNECT BY PRIOR a.ID = a.parent_id




结果要同事帮忙导入到9i 测试库, 发现不管怎么搞,结果都是一样的, 213 笔 ,正确的。

[ 本帖最后由 tolywang 于 2010-12-23 09:13 编辑 ]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-682501/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-682501/

nRF Connect SDK基础入门:从环境搭建到模块化应用开发 嵌入式开发中,软件开发工具包(SDK)是连接硬件与上层应用的关键桥梁,它封装了芯片外设驱动、协议栈和操作系统接口,极大提升了开发效率。其核心原理在于通过抽象层(如设备树)实现硬件无关性,并通过构建系统(如CMake)管理项目依赖与编译流程。对于物联网设备开发,一个稳定、可配置的SDK能显著降低功耗优化、无线连接等复杂功能的实现门槛。nRF Connect SDK(NCS)正是基于Zephyr RTOS的此类框架,集成了蓝牙、Thread等协议栈。本文以nRF52840等芯片为例,详解如何利用NCS的“基础” 阅读详情

相关推荐

解决Android无线调试adb connect失败:从配对到连接的完整指南

本文详细介绍了Android无线调试中adb connect失败的完整解决方案,从前期准备、配对流程到连接建立和高级技巧。特别针对Android 11及以上版本的无线调试新流程,提供了配对码使用、常见错误排查和实用adb命令,帮助开发者高效完成无线调试连接。

weixin_27330481的博客 492

Oracle树结构查询 start with ... connect by用法简介&sql有向图问题期待新解决方案

ORACLE是一个关系数据库管理系统,它用表的形式组织数据,在某些表中的数据还呈现出树型结构的联系。例如,我们现在讨论雇员信息表EMP,其中含有雇员编号(EMPNO)和经理(MGR)两例,通过这两列反映出来的就是雇员之间领导和被领导的关系。有些雇员领导另一些雇员,有些雇员被领导,还有些雇员领导一些人又被别人领导,他们之间的这种关系就是一种树结构,图1.1表示了EMP表雇员间的这种树结构。     

7619

[Mosquitto]奇怪!每隔120s就重连一次!Socket error on...错误

Nginx代理webSocket经常中断的解决方法(也就是如何保持长连接) 初次使用IP连接时,并没有出现这种情况。之后对mosquitto服务配置了域名后,客户端client才出现了频繁重连的情况,那么基本可以确定是网络相关的配置出现问题。 首先需要nginx来帮助frp作更细致的反向代理配置,这里主要是增加了ws的支持和增加了超时时间: #PROXY-START/ location ~* \.(php|jsp|cgi|asp|aspx)$ { proxy_pass http://127.

IcyLeaves的博客们 1789

Oracle start with connect by prior 使用总结

Oracle树形数据结构查询数据

奥利奥小兵的博客 1万+

LT码与Raptor码的性能仿真

从数据分析看来,在数据块大小较小时(100 - 200 左右 ),LT 码和 Raptor 码的平均冗余符号数量差距相对较小,但 LT 码的冗余符号数量始终高于 Raptor 码。现在采用MATLAB进行仿真,直观展示不同数据块大小下,两种解码方式的解码时间差异.如图4.1所示,LT解码(绿色圆点折线)LT 解码方式的解码时间随数据块大小的变化情况。从实际应用的角度来看,LT码由于其简单的编码机制,适用于资源受限或对编码效率要求较高的场景,但其较高的解码复杂度限制了其在一些实时性要求较高的应用中的使用。

道亦无名 1137

Label Studio保姆级教程:从零搭建医疗影像标注平台(DICOM格式支持)

本文提供基于Label Studio从零搭建医疗影像标注平台的保姆级教程。针对DICOM格式支持,详细阐述了环境部署、DICOM深度集成与预处理、团队协作权限管理以及质量审核闭环等核心环节,旨在构建一个高效、可落地的医疗AI数据标注解决方案,助力模型落地。

nft7creator的博客 304

oracle中connect by和start with的使用

select [level],column,expression,... from table_name [where where_clause] [[start with start_condition][connect by prior prior_condition]]; level:一个伪列,代表位于查询的第几层。 start_condition:定义层次化查询的起点。 pri

产品经理,程序人生 3893

自学PCB思路 | PCB设计零基础入门-小白适用(附详细入门经验分享)

本人大一在实践课上就听说PCB,被虎的一楞一楞的,不过现在回看,发现其实并没有相信的那么难!想着把自己这一路摸索的学习路线分享一下,当时我是一边摸索一边上手,一把鼻涕一把泪的过来的。如果你想搞硬件或者需要搞硬件,下面是我的入门学习过程,希望可以帮到你。目录前言选择一款设计软件好的入门课程掌握抄板元件采购焊板子烙铁头热风枪自己半设计明确设计需求全设计最后我并非什么大佬,也没法自己去教大家如何画板。

自动化小秋葵的博客 1万+

Oracle中connect by...start with...的使用

一、语法 大致写法:select * from some_table [where 条件1] connect by [条件2] start with [条件3]; 其中 connect by 与 start with 语句摆放的先后顺序不影响查询的结果,[where 条件1]可以不需要。 [where 条件1]、[条件2]、[条件3]各自作用的范围都不相同: [where 条件1]是在根据

yl_zxy_ccssddnn_net的专栏 833

HMC5883L磁力计在STM32F4上的I2C驱动与数据校准实战

本文详细介绍了HMC5883L磁力计在STM32F4平台上的I2C驱动开发与数据校准实战。通过解析寄存器配置、数据读取处理和椭圆拟合校准算法,帮助开发者实现精准的地磁测量,特别适用于无人机导航和机器人系统中的航向确定与陀螺仪漂移修正。

2y3u4i5o6p的博客 1037

Unity3d SECTR 2019 从零开始了解(零)

插件刚下载下来,虽然从Demo里面看了下大致效果,但尝试使用的时候茫无头绪,因此决定一边读文档一边写下笔记。这个笔记会从最基本的名词概述开始一步一步到用法。 除非特别注明,所有内容都不是机翻,而是理解后自己翻译的。 翻译内容: 【零】API REFERENCE MANUAL第一章Documentation Core Concept 【一】 名词概述 CORE CORE是SECTR的核心,一个快速将 Sectors 和 Portals 加入到Unity中的工具,以及完整的源代码,可以构筑独特的功能。 VI

狗蛋在土里瑟瑟发抖 1501

opengauss适配Oracle的start with Connect By Prior

opengauss适配Oracle的start with Connect By Prior

j1354223253的博客 850

MATLAB联合Fluent优化仿真

matlab与fluent交互

keleke_的博客 4728

Oracle CONNECT BY (层级查询)的用法记录

前两天在写SQL的时候 无意间发现这样一条语句 我得天呐 我都惊讶了 还能这样搞的 以前用MYSQL的时候 像菜单这种层级查询的话还要去查询每一条 然后再进行一个递归 封装 麻烦的一* Oracle竟然一条语句就搞定了 这不赶紧偷过来 (奇怪 读书人的事怎么能叫偷呢) select CONNECT_BY_ROOT(字段) 根节点,level 层级,connect_by_isleaf 是否叶子节点 from table_name t START WITH [条件(以哪个节点开始)] CONN.

风华流沙君莫笑的博客 1238

【信息系统项目管理师】第18章:项目绩效域详解

(3)度量绩效域与规划绩效域、项目工作绩效域和交付绩效域的相互作用:1规划构成了 交付和规划比较的基础;项目绩效域共同构成了一个统一的整体,作为一个完整系统,在项目生命周期过程中运行,系统内的每个绩效域相互作用、相互关联和相互依赖,并协调一致、共同运作,支撑项目目标和价值 的实现。(5)开发方法和生命周期绩效域与其他绩效域的相互作用:开发方法和生命周期绩效域与干系人绩效域、规划绩效域、不确定性绩效域、交付绩效域、项目工作绩效域和团队绩效域相互作用。(2)项目工作绩效域的绩效要点包括:项目过程;

数据知道的博客 7805

国科大学习资料--矩阵论(叶世伟)-期末考试题整理3

国科大学习资料–矩阵论-期末考试题整理3 国科大学习资料–矩阵论-期末考试题整理3 国科大学习资料–矩阵论-期末考试题整理3

无名何许人的博客 1404

oracle start with语句,Oracle START WITH子句不返回根行

我在Oracle 10g中执行以下查询以分层形式检索数据(完整查询有点复杂):SELECT LEVEL AS lvl, a.*FROM (WITH tempAS (...)SELECT id_request, subj_type, id_subj, name, flag_e,person_code, assoc_type, nature, parentFROM temp,(...)) aSTART...

weixin_36227730的博客 217

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

oracle中的with函数,Oracle层次查询和with函数的使用

开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树。这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法;有时可能为了数据表管理的方便 就把所有的部门放在一张表里并加上一个字段标识部门之间的隶属关系,这样子看起来有点奇怪,但凑合用用还是Ok的。下面我跟大家分享下我的心得,也就是基于这种设计怎么做数形图,简单...

weixin_33188115的博客 1086

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

oracle层次查询 取数,Oracle层次查询和with函数的使用示例

Oracle层次查询和with函数的使用示例开发中大家应该都做过什么类似部门管理这样的功能,一般情况下一个部门下面还有下一级部门(子部门),这个层级就类似一棵树。这种情况下一般会把父级部门和子级部门分成2个或者多个表,这种算是比较常规的做法;有时可能为了数据表管理的方便 就把所有的部门放在一张表里并加上一个字段标识部门之间的隶属关系,这样子看起来有点奇怪,但凑合用用还是Ok的。下面我跟大家分享下我...

weixin_33602725的博客 343

内网环境下浏览器访问接口Connection Start缓慢问题解析及Nginx配置优化详解

在日常开发和测试环境中,内网API接口的访问常常采用浏览器、curl或者API调试工具进行验证。部分情况下,开发者会遇到一个奇怪的问题:使用浏览器请求接口时,Connection Start阶段长达接近1分钟,导致接口响应极慢;但同样的接口,使用curl或Postman等工具请求时,却能够快速返回结果,无明显延迟。更换浏览器后依旧存在该问题,说明问题非浏览器个例所致。

福大大架构师每日一题 1535

ORACLE的WITH语句的一个疑惑

使用WITH语句,更新表数据,不行: WITH VN AS ( SELECT T.ID, T.NODE_ID, N.NODE_TYPE, N.NODE_NAME, T.NODE_LEVEL, T.RN FROM ( SELECT ID, NODE_ID, LEVEL NODE_LEVEL, ROWNUM RN ...

weixin_33716941的博客 196

【报错问题】安装weditor报错以及点击Dump Hierarchy时提示 Local server not started, start with $ python -m weditor

这次关于安装使用weditor引起的一系列报错,也是经过以上的各种排查解决,但写这个文章的目的只是记录一下此次发现的问题以及解决方法以供参考交流,以及比较重要的东西:对于开发者的我们来说的比较重要的排查/解决问题的思路,也就是如何看报错信息,怎么分析报错信息——学会利用网络资源来解决问题。

个人沉淀笔记 5032

Error -27796: Failed to connect to server问题解决记录

在使用LoadRunner11运行场景时,出现了一个让我很奇怪的问题,当运行user数量大于1时请求会大量报错: Error -27796: Failed to connect to server 使用了网上的各种方式,无论是修改LoadRunner注册表,还是增加请求超时时间,发现均未能解决问题 经过一番查阅资料发现我由于前段时间在运行场景的时候使用了ip欺骗,现在运行场景时仍默认使用,

russ44的博客 1万+

oracle 11g dblink 查询的bug --10053用处

在oracle11g上,外网建的dblink访问内网,好奇怪的SQL,问题SQL在内网是可以的,在外网查不出数据。做为实验,把内网的数据同步到外网,然后查询,是可以的。最后通过调整SQL写法解决了问题。 问题SQL: SELECT T.P_TYPE_CODE, T.TYPE_CODE TYPE_ID, T.TYPE_NAME, TYPE_COD

关注系统性能调优 2219

(libev) cannot allocate xxx bytes, aborting 问题的一种触发条件

最近在项目中使用了libev,遇到一个很奇怪的crash,服务器运行随机时间后有一定的概率奔溃,输出的最后一行log是: (libev) cannot allocate xxx bytes, aborting。 因为捕捉了SIGINT信号,所以可以确定崩溃就是由于libev的这个abort。开始是以为内存越界之类,排查了strncpy, memset,memcpy等使用的地方,并且使用valgr

聚焦游戏和图形引擎开发技术 3188

Android 随笔集 By tuliyuan

1.反射机制调用系统服务EthernetManager private void getNetInfo(Context context) { try { // Log.d(TAG, "dddd getNetInfo is " ); Method getServiceMethod = Class.forName("android.os.ServiceManager").getDeclaredMethod("getService", new Cla

qq_18906227的博客 2282
上一篇: 特殊符号密码处理 - 导入导出exp/imp
下一篇: Linux下查看网卡设置 ethtool eth0
cuixie2370
博客等级 码龄10年 17粉丝 842原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值