ORA-20000: ORU-10027:buffer overflow, limit of 10000 bytes

要用dbms_output.put_line来输出语句,遇到以下错误:
ERROR 位于第 1 行:
ORA-20000: ORU-10027: buffer overflow, limit of 10000 bytes
ORA-06512: 在"SYS.DBMS_OUTPUT", line 32
ORA-06512: 在"SYS.DBMS_OUTPUT", line 97
ORA-06512: 在"SYS.DBMS_OUTPUT", line 112
ORA-06512: at line 12
View program sources of error stack?
 
这是因为在sqlplus下,如果set serveroutput on此时就会用dbms_output将相关的信息打印到屏幕上,如果sqlplus登录环境没有设置buffer的大小,默认情况下是 10000,将打印打开也同时赋予10000的buffer,如果输出超过这个值,则会报以上错误!设置更大的buffer值,最大支持 1000000
 
解决方案 1 可以使用 EXEC DBMS_OUTPUT.ENABLE(200000)来设置该buffer值
 
解决方案 2 不要用dbms_output.put_line来输出语句,可以把生成的语句写到一个文件中,然后再执行生成的文件
 

你可能感兴趣的:(overflow)