Oracle問題.大俠們請help me!

zhuzhichao 2001-07-24 02:06:23
我有一個存儲過程.創建時可以,但調用時出錯.
Oracle報錯:
ORA-20000: ORU-10028: line length overflow, limit of 255 bytes per line
我在script中查找,發現有一個varchar2型的變量賦值如下:
v_sql := 'INSERT INTO temp_status(id, fod00c,fod01c,fod02d,fod03c,fod04c,fod06c,fod11c,a0,a1,a2,a3,a4,' ||
'a5,a6,a7,a8,a9,a10,a11,a12,k1,k2,tba03c,sba02c) ' ||
' SELECT temp_status_seq.nextval, fod00c,fod01c,fod02d,fod03c,fod04c,fod06c,fod11c,' ||
'fia14c,0,0,0,0,0,0,0,0,0,0,0,0,fod19f,0,TRANSLATE(tba03c USING CHAR_CS),TRANSLATE(sba02c USING CHAR_CS) ' ||
' FROM fom04, fim01, tbm01, sbm01 ' ||
' WHERE fod00c = fia00c and fod11c = fia01c' ||
' AND tba010c = ''B'' and fod03c=tba011c' ||
' AND fod08c = sba01c';

將這段腳本縮減後就能執行.

現在我想詢問一下,有沒有辦法解決這個問題,例如說將其強制分行.
...全文
127 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
實在不能分行嗎?
fita 2001-07-24
  • 打赏
  • 举报
回复
把insert 后面的字段列表去掉,后面的select保证按照字段的物理顺序就可以缩短不少了
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
多用||是沒有用的.
因為v_sql的值被賦後它就是一行.
wx_zhang 2001-07-24
  • 打赏
  • 举报
回复
就用‘||’多分几行嘛
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
up
hailong525 2001-07-24
  • 打赏
  • 举报
回复
没办法!不过update应该可以呀!先insert,之后对该字段update吧!+
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
up again
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
up
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
to hailong525(风云):
對呀,是一行中超過了255個byte,
現在我想分行處理,不知道怎麼做?
hailong525 2001-07-24
  • 打赏
  • 举报
回复
差不许多!一定是长度超过了255!
zhuzhichao 2001-07-24
  • 打赏
  • 举报
回复
to hailong525(风云):
我的是varchar2類型的呀.
而且只有insert呀.
hailong525 2001-07-24
  • 打赏
  • 举报
回复
oracle 对long类型数据的处理,很受限制!尤其在类似insert ..select...类型的语句中
没办法,改一种方式试试!可以先insert 之后再 update!

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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