SOS:ORA_03113: 通信通道的文件结束.高分相送。加急,在线等......

HS_Comman 2003-08-20 11:43:04
我有一个大表名mytable,1000列(varchar2(10))。
我现在只能每8列每8列的往里面添值--每8列一次取得近10000个值,然后导入到表。
我现在是使用了125个临时表。每隔表中存储一组8列的值。最后通过一次倒入将所有临时表中的值导入到我的大表中(1000列),如下:
insert into mytable
select t1.fld1,t1.fld2,....t1.fld8,
t2.fld1,t2.fld2,....t2.fld8,
.......
fld125,t125.fld2,....t125.fld8
from temp1 t1, temp2 t2,......temp125 t125
where (条件);

可是他提示:ORA_03113: 通信通道的文件结束。这是什么意思?

说实在的,这条SQL语句巨长无比,我是通过程序生成的。是不是Oracle对SQL语句的长度有一定的限制?

望各位老大多多帮忙!!!
不胜感激.....
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
HollyKiller 2003-11-07
  • 打赏
  • 举报
回复
应该分割开来,分组进行操作。试一试。。。。
hushuangyang 2003-08-20
  • 打赏
  • 举报
回复
我以前也碰到这样的错误,但是引起错误的却是 trim一个null变量。将trim改为ltrim(rtrim(null))就没有问题。谨供参考。
LGQDUCKY 2003-08-20
  • 打赏
  • 举报
回复
sql語句是不能太長,
你先这样测试,先存构造200列,看看是否有问题
没有问题在加200列,以此推。。。。。看看是多少报错。
jiezhi 2003-08-20
  • 打赏
  • 举报
回复
很可能是在執行的時候,oracle內部發生了錯誤,造成此信息出現。
sql語句是不能太長的。好象是64k
HS_Comman 2003-08-20
  • 打赏
  • 举报
回复
--------------------
对以上老兄:
我的SQL语句我摘取下来后(我只试了一个288列的表,只是就已经报错了),
可是SQL语句所有的字符所占用的空间只有6K多一点。
为什么老是报错呢?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧