oracle下left join查询报ora-03113:一表多字段另一表同一字段关联?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

oracle下left join查询报ora-03113:一表多字段另一表同一字段关联?报错

2020-06-14 15:20:58 589 1

用友nc的web service接口报500,跟踪代码后发现是一个sql查询报错引起的。

该sql是多个表通过left join on连接起来的。其中一个表很多字段另一个表的一个字段关联,

一查询就报 ORA-03113: 通信通道的文件结束,不过去掉case和decode或者中文就没问题。

其他sql都可以调case和decode或者包含中文。就这个sql不行。

sql总长度3506。小于pl/sql的50k和oracle的64k每行也不超过sqlplus的2099。

这个sql类似于如下sql:

select a.name

b1 .c1  ,
b2 .c2  ,
b4 .c4  ,
b5 .c5  ,
b6 .c6  ,
b8 .c8  ,
b9 .c9  ,
b10.c10 ,
b11.c11 ,
b12.c12 ,
b14.c14 ,
b15.c15 ,
b16.c16 ,
b18.c18 ,
b19.c19 ,
b20.c20 ,
b21.c21 ,
b22.c22 ,
b24.c24 ,
b25.c25 ,
b26.c26 ,
b28.c28 ,
b29.c29 ,
from table_a a
left join table_b  b1  on  b1.c  = a.c1
left join table_b  b2  on  b2.c  = a.c2
left join table_b  b4  on  b4.c  = a.c4
left join table_b  b5  on  b5.c  = a.c5
left join table_b  b6  on  b6.c  = a.c6
left join table_b  b8  on  b8.c  = a.c8
left join table_b  b9  on  b9.c  = a.c9
left join table_b  b10 on  b10.c = a.c10
left join table_b  b11 on  b11.c = a.c11
left join table_b  b12 on  b12.c = a.c12
left join table_b  b14 on  b14.c = a.c14
left join table_b  b15 on  b15.c = a.c15
left join table_b  b16 on  b16.c = a.c16
left join table_b  b18 on  b18.c = a.c18
left join table_b  b19 on  b19.c = a.c19
left join table_b  b20 on  b20.c = a.c20
left join table_b  b21 on  b21.c = a.c21
left join table_b  b22 on  b22.c = a.c22
left join table_b  b24 on  b24.c = a.c24
left join table_b  b25 on  b25.c = a.c25
left join table_b  b26 on  b26.c = a.c26
left join table_b  b28 on  b28.c = a.c28

left join table_b  b29 on  b29.c = a.c29

请教诸位大神这个sql该如何优化?

报错的原因可能是什么?

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-14 15:21:13

    用友的人说可能是表空间的问题,也可能是sql太长的问题(dba和我都不认为是sql太长的问题),说可能重启服务器就好了,事实上重启完服务器还是这个问题。
    跟踪日志看看具体是什么错误

    selecta.name, 

    casewhenb.c=a.c1thenb.c1elseNULLendasc1,

    ……

    casewhenb.c=a.c29thenb.c29elsenullendasc29

    fromtablebb,tableaa;

    用这个行不。

    不行

    0 0
相关问答

1

回答

数仓当中Oracle数据库b-tree索引是什么意思?

2021-12-12 17:26:37 403浏览量 回答数 1

1

回答

数仓当中Oracle数据库位图索引是什么意思?

2021-12-12 17:27:23 401浏览量 回答数 1

1

回答

数仓当中Oracle数据库HASH索引是什么意思?

2021-12-12 17:30:16 420浏览量 回答数 1

1

回答

linux下QTCreator中连接oracle数据库失败?报错

2020-06-14 15:59:07 411浏览量 回答数 1

1

回答

Node如何连接SQLServer和Oracle数据库? 400 请求报错 

2020-05-30 22:58:26 324浏览量 回答数 1

1

回答

ACE没有发现支持oracle数据库

2015-07-29 13:17:32 4573浏览量 回答数 1

1

回答

RDS数据库支持oracle吗?

2015-06-30 09:58:55 4451浏览量 回答数 1

7

回答

使用java环境,oracle数据库,阿里云服务器支持吗?

2014-07-09 14:02:46 20764浏览量 回答数 7

2

回答

云空间能自己安装tomcatjdk及oracle数据库吗

2014-05-18 14:01:21 7906浏览量 回答数 2

8

回答

阿里云主机支持oracle甲骨文数据库吗?

2013-02-17 20:54:50 11689浏览量 回答数 8
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
2
文章
21564
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载