order by 子句问题???

男人三十好累 2003-07-02 02:22:52
我不加order by 子句完全正确。加了出现下面的错误
是什么地方出错了
: (Error): ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06512: 在"JASINDA.GETCLOBNEW", line 20

SELECT word, GETCLOBNEW('textwordtable','id','textwordclob',id,1) descriptionnew FROM textwordtable order by word
getclobnew()是我写的函数
...全文
49 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
男人三十好累 2003-07-03
  • 打赏
  • 举报
回复
dbms_lob.read(lobloc,amount,offset,buffer);
我想他是没错误的。
那个错误: 字符串缓冲区太小 ORA-06512
是不是说我在select 语句中的字符串缓冲区太小。
也就是说select语句不能查询超过多少的字节的字符串啊。
可不可以在什么地方设置select语句支持的最大字节数啊。
大家再不回答。我也发不了回复了。
顶一下也可以。
男人三十好累 2003-07-03
  • 打赏
  • 举报
回复
dbms_lob.read(lobloc,amount,offset,buffer);
我测试发现如果lobloc这个字段要是太大。像超过10000字节。就会出错。
错误是: 字符串缓冲区太小 ORA-06512
但我的buffer明明是32767。还是没有搞清楚。
希望大家来看看
smallcrocodile 2003-07-03
  • 打赏
  • 举报
回复
没有order by正常,有order by出错,还很慢,没有遇到,搞不懂
ili2002 2003-07-02
  • 打赏
  • 举报
回复
當SORT AREA用完後就會開始寫入TEMP TABLESPACE,
這速度至少有數百倍之差,其他的就是上面說的了
guangyinsuipian 2003-07-02
  • 打赏
  • 举报
回复
关于order by慢:
Order by语句对要排序的列没有什么特别的限制,也可以将函数加入列中(象联接或者附加等)。任何在Order by语句的非索引项或者有计算表达式都将降低查询速度。
仔细检查order by语句以找出非索引项或者表达式,它们会降低性能。解决这个问题的办法就是重写order by语句以使用索引,也可以为所使用的列建立另外一个索引,同时应绝对避免在order by子句中使用表达式。
flyerlxg 2003-07-02
  • 打赏
  • 举报
回复
study and help you up
bobfang 2003-07-02
  • 打赏
  • 举报
回复
varchar2如果是字段,可支持4000字节,是参数,可支持32767
男人三十好累 2003-07-02
  • 打赏
  • 举报
回复
可以把init.ora中的sort_area_size设置大一些我加了一倍。
改这个东西是不是要重启数据库啊。
存储过程或函数参数,最多只支持4000个字节吗?
buffer varchar2(32767);
那我这够话怎么不会出错啊。
Michaelyfj 2003-07-02
  • 打赏
  • 举报
回复
varchar2如果是字段,可支持2000字节,如果是存储过程或函数参数,可以支持4000个字节

至于排序,可以把init.ora中的sort_area_size设置大一些
男人三十好累 2003-07-02
  • 打赏
  • 举报
回复
这是getclobnew的函数
lobloc clob;
buffer varchar2(32767);
amount number := 30000;//如果这里写的是3000以下。加不加order by 都不会出错
offset number := 1;
query_str varchar2(1000);
begin
dbms_lob.read(lobloc,amount,offset,buffer);
return buffer;
exception
when no_data_found then
return buffer;
varchar2最大支持多长。还有就是是不是数据库配置的问题。什么地方分配的内存小了。
black_snail 2003-07-02
  • 打赏
  • 举报
回复
用order by 语句就会很慢
-->可以理解,可能是sort在硬盘上了

但是出错无法理解
男人三十好累 2003-07-02
  • 打赏
  • 举报
回复
还有就是我的程序一用order by 语句就会很慢。有时tomcat还会死

17,086

社区成员

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

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