dbms_output.put_line 的替代方案
Posted
技术标签:
【中文标题】dbms_output.put_line 的替代方案【英文标题】:Alternative to dbms_output.putline 【发布时间】:2012-12-02 08:13:14 【问题描述】:我正在一个过程中创建一个动态查询,现在想通过dbms_output.putline
查看它,但我的查询包含超过 255 个字符。
如何查看查询?
dbms_output.putline
的替代品是什么?
【问题讨论】:
dbms_output.putline
没有 255 个字符的限制。你为什么这么认为?
dbms_output.put_line 每行限制为 255 个字符。
【参考方案1】:
现在有点混乱。
在 Oracle 9i 中,dbms_output.put_line
是 limited to 255 characters。此限制为removed in 10g,同样在Oracle 11g 中不存在。
您已标记您的问题oracle10g,这意味着您被限制为 32,767 字节,即标准 PL/SQL 最大值。
【讨论】:
+1,我不知道 9i 的限制(那是很久以前的事了) 我不知道限制在 10g 中已经解除,直到我看到你的评论并去寻找:-)。我真的没有机会打印很长的东西。感谢您修复我的胖手指 1 @a_horse_with_no_name 我在 oracle 10g ORA-20000 中收到此错误:ORU-10028: line length overflow, limit of 255 chars per line...【参考方案2】:尝试弄乱类似的东西
create or replace procedure custom_output(in_string in varchar2 )
is
out_string_in long default in_string;
str_len number;
loop_count number default 0;
begin
str_len := length(out_string_in);
while loop_count < str_len
loop
dbms_output.put_line( substr( out_string_in, loop_count +1, 255 ) );
loop_count := loop_count +255;
end loop;
end;
/
【讨论】:
以上是关于dbms_output.put_line 的替代方案的主要内容,如果未能解决你的问题,请参考以下文章
dbms_output.put_line 不能与游标一起正常工作