關於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...