因为需要用到存储过程,自己写了一个,但因为是新手,查询的字符长度超过了4000,出现了ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,这个错误,代码如下,麻烦高手指点一下如何修改这个代码!
CREATE OR REPLACE FUNCTION Wait_time_order( str_in in varchar2 ) RETURN varchar2
is
str_list varchar2(4000) default null;
str varchar2(20) default null;
begin
for x in ( select w.Order from Wait_time W where w.Re = str_in order by w.Order ) loop
str_list := str_list || str || to_char(x.Order);
str := chr(47)||chr(47);
end loop;
return str_list ;
END Wait_time_order;
字符串缓冲区太小PL/SQL存储函数
CREATE OR REPLACE FUNCTION Wait_time_order( str_in in varchar2 ) RETURN varchar2
is
str_list varchar2(4000) default null;
str varchar2(20) default null;
begin
for x in ( select w.Order from Wait_time W where w.Re = str_in order by w.Order ) loop
str_list := str_list || str || to_char(x.Order);
str := chr(47)||chr(47);
end loop;
return str_list ;
END Wait_time_order;
字符串缓冲区太小PL/SQL存储函数
解决方案 »
- 怎么样实现跟踪oracle
- 补齐不连续的月份问题,谢谢!
- oracle连接问题
- oracle关于sql语句绑定变量的问题
- 如何知道一张表被锁呢?
- “非法的零长度标识”怎么回事?
- oracle在redhat下进行silent安装,那么rsp文件只能手动编辑么?能不能通过一种方式生成啊?
- 100分请教:Oracle存储过程报错(用过DTS导入的朋友一定进来看看)
- 求救,如何在sqlplus查询出clob子段中的数据???急啊,高手求救!!!
- update 与 lag函数
- oracle 存储过程中 for in 的使用
- 【江湖救急】在Linux下Qt上使用libzdb封装的数据库连接池,操作数据库时间错误
还有一个办法是返回数组类型,或者直接用cursor返回。