dbms output超長問題

2021-06-06 04:18:48 字數 1047 閱讀 2332

關於10g以下dbms_output.put_line超長的問題

對於10gdbms_output.put_line的長度是沒有限制

如果報錯:buffer overflow,執行如下語句即可:

由於10g以下dbms_output.put_line的長度有限制

所以今天特意寫了乙個按照回車符來擷取字串,也就是按行擷取,然後列印出來的過程,希望對某些人有用!

create or replace procedure print_proc(str in varchar2) is

/* --列印字串,除錯的時候用

--由於字串過長,超過了dbms_output.put_line的長度,故採用本程式分行列印出來

--@auther:z.x.t

--@date:2007-6-26

*/ begin

dbms_output.put_line('lengthb(str) =' || lengthb(str));

if (lengthb(str) < 255) then

dbms_output.put_line(str);

else

for i in 1 .. length(str) - length(replace(str, chr(10))) + 1

loop

dbms_output.put_line(substr(str, instr(chr(10) || str, chr(10), 1, i), instr(str ||

chr(10), chr(10), 1, i) -

instr(chr(10) || str, chr(10), 1, i)));

end loop;

end if;

exception

when others then

dbms_output.put_line(sqlerrm);

dbms_output.put_line(dbms_utility.format_call_stack);

end print_proc;

dbms output 使用記錄一二

os centos 7.4 db oracle 11.2.0.4 dbms output 對於程式除錯非常重要,經常需要輸出執行的sql語句或者變數 預設 sqlplus 的 serveroutput 是關閉的,無法輸出 sql show serveroutput serveroutput off ...

DBMS OUTPUT 用於輸入和輸出資訊

作用 用於輸入和輸出資訊,使用過程put和put lines可以將資訊傳送到緩衝區,使用過程get line和get lines可以顯示緩衝區資訊。該包用來輸出plsql變數的值,屬於系統使用者sys。下面講述包的組成 1 enable 說明 該過程用於啟用本包,如果沒有被啟用,將無法呼叫本包的其它...

超長整數加法計算

對於long long型別也存放不下的超長整數,可以使用字串模擬的辦法來對其進行運算的模擬。此處僅做加法的示範,其他運算思想類似。每四位視為乙個整數,進製等情況對下一次的計算考慮影響。includeusing namespace std define max len 50 int nnuma max...