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

来源:互联网 发布:网络连接失败 请重试 编辑:程序博客网 时间:2024/06/04 21:50

    今天折腾了一上午,查找存储过程新键游标,做了一个connect by的递归循环查找部门,但是一直抛出ORA-01436:用户数据中的 CONNECT BY 循环,刚开始在网上找了一些资料,都说是oralce版本的问题,用rownum就可以解决。但是后面经过查看oracle版本是正确,后来就自己写存储过程进行调试,最后定位到问题:是数据配置存在问题,导致死循环出现的问题.

 

    小结:其实碰到这个问题,个人觉得比较简易的方法是先判断是否是自身数据存在死循环造成的:

        如,查找部门的信息--select * from  dept d where d.dept_no = d.p_dept_no;

 

     假设存在当前部门与父级部门一致的数据,则说明存在死锁,把这样的数据清理掉后,可能就排除了数据死锁的问题,也就解决了CONNECT BY 循环的错误。

 

0 0
原创粉丝点击