Oracle数据库执行存储过程的错误解出现了错误,错误信息如下:
ORA-20000: ORU-10027: buffer overflow, limit of 10000 bytes
ORA-06512: at "SYS.DBMS_OUTPUT", line 32
ORA-06512: at "SYS.DBMS_OUTPUT", line 97
ORA-06512: at "SYS.DBMS_OUTPUT", line 112
ORA-06512: at line 18
经过一系列的分析以及查看网上的资料终于知道了问题的解决方法,出现的原因是因为我在存储过程中使用了dbms_output.put_line(); 由于过程中有循环,因此输出量比较大,致使缓存不够报错。
网上的解决方法是set serveroutput on size 100000 (相当于把缓存设置大一点),但是我执行时候报错 ORA-00922: missing or invalid option,之后还是修改了自己的语句,既然是输出过多导致,我就将数据语句放在循环外面,这样只要输出语句小于缓存就可以了。
本文就介绍到这里了,希望本次的介绍能够对您有所收获!