ORA-01436: 用户数据中的 CONNECT BY 循环

Posted Jay_1989

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORA-01436: 用户数据中的 CONNECT BY 循环相关的知识,希望对你有一定的参考价值。

今天在查询一个菜单的所有父菜单的时候,报“ORA-01436: 用户数据中的 CONNECT BY 循环 ”错误,所用SQL如下:

select * from roles m start with m.rno='690702' connect by prior m.r_rno=m.rno;


仔细查看一下,发现记录RNO为69的记录,其父R_RNO也为69,导致死循环


解决方法:

select * from roles m start with m.rno='690702' connect by nocycle prior m.r_rno=m.rno;

采用nocycle来避免死循环,执行后效果如图,发现其将死循环的记录给去掉了


 

以上是关于ORA-01436: 用户数据中的 CONNECT BY 循环的主要内容,如果未能解决你的问题,请参考以下文章

查找引发 ORA-01436: 用户数据中的 CONNECT BY 循环 错误的数据

免疫遗传算法怎么和其他结合在一起

oracle SQL查询时提示 用户数据中的connect by 循环 报错是啥原因?

利用init_connect参数记录用户登录信息

利用init_connect参数记录用户登录信息

SQL 文件中 CONNECT 行中的 SQL Plus SP2-0306,相同的凭据在批处理文件中工作