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 CONNECT BY PRIOR r1.region_id = r1.parent_id
在运行上面的SQL语句时它会报ORA-01436的错误,报这个错误原因是因为产生了循环。后来查找我的数据发现,数据region_id为1的parent_id为24684,而region_id为24684的parent_id为1,这样就产生了循环后来我把数据改过来就运行正常了。
不改变数据将下面的SQL语句改为让它不产生循环
SELECT r1.region_id,parent_id FROM cnl_region r1 WHERE r1.region_id =1 START WITH r1.region_id = 1 CONNECT BY NOCYCLE PRIOR r1.region_id = r1.parent_id
--start with ... connect by 层次查询的用法
--建表语句
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 automobilesstart with part_id=1connect by prior part_id=parent_id order by level;--缩进显示select level, lpad(' ',2*level-1)||part_cname||' '||part_ename as partNamefrom automobilesstart with part_id=1connect by prior part_id=parent_id order by level;
在执行select level语句的时候,报如下错误:ORA-01436: CONNECT BY loop in user data
解决方案:
将第一条数据中的parent_id改为null,否则loop循环找parent_id就找不到了!
【转载地址】http://blog.csdn.net/weikaifenglove/article/details/4206979
java.sql.SQLException: ORA-01436: 用户数据中的 CONNECT BY 循环相关推荐
- 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 ...
- 数据库异常---ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环
数据库 ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社 ...
- Java笔记-解决Cause: java.sql.SQLException: 试图在只读事务中修改数据(达梦数据库)
解决方法: @Transactional(readOnly=false) 这里要注意,可能会失效,一定要放对位置. 要包住所有sql调用的函数的上面,不要只包一部分,不然不会生效的.
- ORACLE各种常见java.sql.SQLException归纳
java.sql.SQLException错误! ORA-00904: --invalid column name 无效列名 ORA-00942: --table or view does n ...
- oracle错误(一) ORA-各种常见java.sql.SQLException小结
ORA-00904: --invalid column name 无效列名ORA-00942: --table or view does not exist 表或者视图不存在ORA-01400: -- ...
- oracle ora-各种常见java.sql.SQLException归纳
va.sql.SQLException错误! ORA-00904: --invalid column name 无效列名 ORA-00942: --table or view does not ...
- oracle ora-各种常见java.sql.SQLException归结
oracle ora-各种常见java.sql.SQLException归纳 java.sql.SQLException错误! ORA-00904: --invalid column name ...
- java.sql.SQLException错误
java.sql.SQLException错误! ORA-00904: –invalid column name 无效列名 ORA-00942: –table or view does not exi ...
最新文章
- java练习:模拟试下你斗地主的洗牌、发牌、看牌功能
- C 语言编程 — 高级数据类型 — 枚举
- 图像中里面的Ground Truth
- 医学图像处理期末复习(二)
- MySQL创建用户报错 -- ERROR 1396 (HY000): Operation CREATE USER failed for ‘user_name‘@‘localhost‘
- SimpleDateFormat线程不安全了?这里有5种解决方案
- python怎么隐藏输入法,隐藏输入法和弹出输入法
- AOP日志组件 多次获取post参数
- 520来袭,程序猿的浪漫 - 前端情书
- 大陆身份证号码格式校验代码
- 动画必须有(二):悬浮菜单了解一下!
- elementui table tooltip产出展示三个点,并且提示
- obs多推流地址_腾讯推流直播教程OBS下载、安装、使用
- 每个人都会经历一段迷茫
- 北斗通讯协议4.0 java_北斗一串口协议4.0.pdf
- 开源搜索引擎评估:lucene sphinx elasticsearch
- 【测试开发】web 自动化测试 --- selenium4
- DailyFi - 9.20|NFT 平台 Vera 将于明日在 Polkastarter 上 IDO
- 计算机类SCI杂志排名
- Java日志管理最佳实践
热门文章
- 信贷风控三:如何搭建知识图谱,赋能信贷业务
- 双色球全部开奖数据(json版)15年(2003~2015)开奖结果
- C语言 酒店管理系统
- 一首非常好听的歌moonlight shadow
- 部署LVS-DR群集【实验】
- mysql启动时报错Can't read from messagefile errmsg.sys
- 微信小程序 RTMP 音视频 通话 ffmpeg_WebRTC与微信小程序音视频互通方案设计与实现...
- 2021-3-6 信息总结
- 等离子体进展期刊和网站
- 如何用python打造个人云盘!