数据库异常---ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环
数据库
ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环
技术qq交流群:JavaDream:251572072
教程下载,在线交流:创梦IT社区:____以前的网站现在不弄了,抱歉
-------------------------------------------------------
1.
在使用start with ... connect by 层次查询的用法报错:ORA-01436: CONNECT BY loop in user data
产生这个错误的原因,产生了死循环,解决办法有两种如下:
2.产生死循环的原因:
比如查找数据发现,数据region_id为1的parent_id为24684,而region_id为24684的parent_id为1,
这样就产生了循环后来我把数据改过来就运行正常了。
-------------------------------------------------------------------
1、使用 connect by nocycle (不推荐),该方法得不到正确的结果。
2、修改基础数据 。
create table automobiles(
part_id number(5)
constraint pk_auto_part_id primary key,
parent_id number(5)
constraint fk_auto_ppid_ references automobiles(part_id),
part_cname varchar2(30) not null,
part_ename varchar2(30) not null,
mp_cost number(9,2),
desribe varchar2(20)
);
--插入数据
insert into automobiles values( 1,1,'汽车','mobile',84321.99,'Assembly');
insert into automobiles values( 2,1,'车身','bodywork',19892.99,'Manufacture');
insert into automobiles values( 3,1,'发送机','engine',42128,'Purchase');
insert into automobiles values( 4,1,'附件','attached',15212,'Assembly');
insert into automobiles values( 5,2,'保险杠','bumper',4812.95,'Purchase');
insert into automobiles values( 6,2,'底盘','chassis',12795.11,'Manufacture');
insert into automobiles values( 7,2,'行李箱','Boot',812.11,'Manufacture');
insert into automobiles values( 8,6,'车轮','Wheel',2062.2,'Manufacture');
insert into automobiles values( 9,6,'挡泥板','Mudguard',990,'Manufacture');
insert into automobiles values( 10,8,'轮胎','Tyre',300,'Purchase');
insert into automobiles values( 11,3,'发送机盘','Bonnet',3212,'Manufacture');
insert into automobiles values( 12,3,'活塞','Piston',1112.2,'Manufacture');
insert into automobiles values( 13,3,'汽化器','Carburetter',712.29,'Manufacture');
insert into automobiles values( 14,4,'变速器','Gearbox',5712.25,'Manufacture');
insert into automobiles values( 15,4,'仪表板','Dashboard',538.92,'Manufacture');
insert into automobiles values( 16,14,'制动器','Carburetter',712.29,'Manufacture');
insert into automobiles values( 17,14,'变速杆','Gearshift',2001,'Manufacture');
insert into automobiles values( 18,17,'传动轴','Shaft',1101,'Manufacture');
insert into automobiles values( 19,15,'里程表','Milometer',350.28,'Purchase');
/
--分层sql脚本语句练习
select level,part_id,parent_id,part_cname,part_ename,mp_cost,desribe
from automobiles
start with part_id=1
connect by prior part_id=parent_id
order by level;
--缩进显示
select level,
lpad(' ',2*level-1)||part_cname||' '||part_ename as partName
from automobiles
start with part_id=1
connect by prior part_id=parent_id
order by level;
上面两个sql执行的时候都会报ORA-01436: CONNECT BY loop in user data
解决方案入下:
方案1:在connect by 后面加上nocycle ,不循环。得到的结果可能就不是你想要的了。
方案2:把第一条记录的parent_id 置为null ,这样做就不会产生死循环。
--------------------------------------------------------------------------------------
数据库异常---ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环相关推荐
- ORA-01436: 用户数据中的CONNECT BY 循环
起始地 目的地 距离(公里) A B 1000 A C 1100 A ...
- ORA-01436: 用户数据中的 CONNECT BY 循环
SELECT r1.region_id,parent_id FROM cnl_region r1 WHERE r1.region_id =1 ST ...
- java.sql.SQLException: ORA-01436: 用户数据中的 CONNECT BY 循环
SELECT r1.region_id,parent_id FROM cnl_region r1 WHERE r1.region_id =1 START WITH r1.region_id = 1 C ...
- 数据库进阶·如何针对所有用户数据中没有的数据去加入随机的数据-蜻蜓Q系统用户没有头像如何加入头像数据-优雅草科技kir
数据库进阶·如何针对所有用户数据中没有的数据去加入随机的数据-蜻蜓Q系统用户没有头像如何加入头像数据-优雅草科技kir 本内容主要用于学习,头像只是举例的一个字段,可以应用在其他方面,举一反三 问题背 ...
- 用户数据中的幸存者偏差
幸存者偏差(Survivorship bias)是一种常见的逻辑谬误,意思是没有考虑到筛选的过程,忽略了被筛选掉的关键信息,只看到经过筛选后而产生的结果. 先讲个故事. 二战时,无奈德国空防强大,盟军 ...
- chrome浏览器中解决embed标签 loop=true 背景音乐无法循环的问题。
今天试了下在html网页中加入背景音乐并设置为循环播放.一开始用<embed>标签,设置loop="true", 但是结果发现在IE浏览器可以,但是在chrome浏览器 ...
- 以人为本的机器学习:谷歌人工智能产品设计概述 By 机器之心2017年7月17日 12:13 取代了手动编程,机器学习(ML)是一种帮助计算机发现数据中的模式和关系的科学。对于创建个人的和动态的经历
以人为本的机器学习:谷歌人工智能产品设计概述 By 机器之心2017年7月17日 12:13 取代了手动编程,机器学习(ML)是一种帮助计算机发现数据中的模式和关系的科学.对于创建个人的和动态的经历来 ...
- 从壹开始 [ Ids4实战 ] 之三║ 详解授权持久化 用户数据迁移
哈喽大家周三好,今天终于又重新开启 IdentityServer4 的落地教程了,不多说,既然开始了,就要努力做好?. 书接上文,在很久之前的上篇文章<二║ 基础知识集合 & 项目搭建一 ...
- 西软服务器显示数据库异常,异常:数据库异常
异常:数据库异常 02/21/2013 本文内容 本文演示如何处理数据库异常.大多数材料本文中应用您使用的是了开放式数据库连接 (odbc) 的 MFC 类或数据访问对象的 MFC 类一起使用 (DA ...
最新文章
- php使用NuSoap产生webservice结合WSDL让asp.net调用
- Hibernate中的实体映射
- 【转/TCP协议编程】 基于TCP的Socket 编程
- PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS
- 法嵌入互操作类型“SHDocVw.ShellWindowsClass”请改用适用的接口-解决方法
- Android开发之线程池管理ThreadPoolExecutor和Executors.newSingleThreadExecutor()
- Linux测量进程内存峰值,linux / unix进程的峰值内存使用情况
- python文件输入符_python文件IO与file操作
- 将银行读卡设备读取到的身份证头像Bitmap属性转换成路径
- iTween 动画类型
- [美丽的烦恼] SQL删除某些字段重复的记录(只保留一条)
- 由浅至深 谈谈.NET混淆原理(三)-- 流程混淆
- Kindle 电子书转换 azw3 mobi
- 【Oracle 11g学习路线】
- USYD悉尼大学DATA1002 详细作业解析Module3
- hr面试性格测试30题_面试性格测试题60道
- [寒江孤叶丶的Cocos2d-x之旅_17]Cocos2d-x 3.2版本以上LUA脚本热更新(动态更新)解决方案
- unreal-教程-第十章:蒙太奇实现拔剑动作
- x1c2017 8G版 win linux的取舍纠结记录
- 【嵌入式系统开发15】STM32F103C8T6下通过定时器Timer方式实现时间的精准控制,实现串口通信并让LED等周期性地闪烁