要用dbms_output.put_line來輸出語句,遇到如下錯誤:
ERROR 位於第 1 行:
ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
ORA-06512: 在"SYS.DBMS_OUTPUT", line 35
ORA-06512: 在"SYS.DBMS_OUTPUT", line 198
ORA-06512: 在"SYS.DBMS_OUTPUT", line 139
ORA-06512: 在"TEST.RUNSTATS_PKG", line 45
ORA-06512: 在line 1緩存
很顯然當咱們在輸出時,控制輸出結果的緩衝大小由DBMS_OUTPUT.ENABLE控制,buffer size默認爲20000,每行最大的限制是32k,後面的一個例子是用來講明存儲過程是在緩存了全部數據後纔將結果返回。因此當咱們使用遊標進行輸出時,若是結果不少,將會超過這個值報ORA-20000, ORU-10027: Buffer overflow, limit of <buf_limit> bytes這個錯誤spa
設置更大的buffer值,最大支持1000000!it
試exec dbms_output.enable(200000)來設置該buffer值。方法
仍是不能夠 im
才又用這種方法數據
解決方法:存儲過程
在存儲過程begin後面加 : DBMS_OUTPUT.ENABLE (buffer_size=>null) 表示沒有限制.db