Oracle编程人员经常会在pl/developer界面中打印输出超过255个长度的字符, 正常使用dbms_output.put_line(&out_str)会产生错误提示.
declare
out_str varchar2(2000);
begin
out_str := lpad('001',1000,'*');
dbms_output.put_line(out_str);
end;
ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line
ORA-06512: at "SYS.DBMS_OUTPUT", line 35
ORA-06512: at "SYS.DBMS_OUTPUT", line 133
ORA-06512: at line 5
查看错误堆栈的程序源?
这里给出了一种解决方式.
将如下代码copy到测试窗体中, 并在下面添加一个参数mycursor,类型填写cursor. 执行后可以查看结果.
declare
out_str varchar2(2000);
begin
out_str := lpad('001',1000,'*');
open :mycursor for
select out_str from dual;
-- dbms_output.put_line(out_str);
end;
在Oracle的PL/Developer中,当尝试使用dbms_output.put_line输出超过255个字符的字符串时,会遇到错误提示。为了解决这个问题,可以改用打开游标的方式显示长字符串。例如,声明一个变量out_str,将其设置为一个超过255个字符的值,然后打开一个游标将out_str作为结果返回,而不是使用dbms_output.put_line。

5920

被折叠的 条评论
为什么被折叠?



