2012-12-02 54 views
1

我在過程中創建動態查詢,現在想通過dbms_output.putline查看它,但我的查詢包含超過255個字符。dbms_output.putline的替代方案

如何查看查詢?

dbms_output.putline是什麼交替?

+0

'dbms_output.putline'不具備的255個字符的限制。爲什麼你這麼想? –

+0

dbms_output.put_line限制每行255個字符 。 – F11

回答

3

有一點點混淆。

在Oracle 9i中dbms_output.put_linelimited to 255 characters。該限制是removed in 10g,在Oracle 11g中也不存在。

您已經標記了您的問題,這意味着您僅限於標準PL/SQL最大值32,767字節。周圍的東西

+0

+1,我不知道9i的限制(這是很久以前) –

+0

我不知道這個限制已經在10g中解除了,直到我看到你的評論,然後看着:-)。我真的沒有機會印刷真正長的東西。感謝您修復我的胖指頭1 @a_horse_with_no_name – Ben

+0

我在oracle 10g ORA-20000中得到這個錯誤:ORU-10028:行長度溢出,每行255個字符的限制... – F11

1

嘗試搞成

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; 

/