在执行如下sql语句时:

dbms_output缓冲区溢出set serveroutput on;
dbms_output缓冲区溢出
declare
dbms_output缓冲区溢出  
--循环所需表
dbms_output缓冲区溢出
    cursor cur_t_zhcxb is
dbms_output缓冲区溢出    
select * from bmrs.t_zhcxb;
dbms_output缓冲区溢出
begin
dbms_output缓冲区溢出   
for rec_t_zhcxb in cur_t_zhcxb loop
dbms_output缓冲区溢出    
begin
dbms_output缓冲区溢出      dbms_output.put_line(
'insert into t_zhcxb value('''|| rec_t_zhcxb.f_ywbm||' '')');
dbms_output缓冲区溢出    
end;
dbms_output缓冲区溢出   
end loop;
dbms_output缓冲区溢出
end;

出现错误:

dbms_output缓冲区溢出ERROR 位于第 1 行:
dbms_output缓冲区溢出ORA
-20000: ORU-10027: buffer overflow, limit of 2000 bytes
dbms_output缓冲区溢出ORA
-06512: 在"SYS.DBMS_OUTPUT", line 34
dbms_output缓冲区溢出ORA
-06512: 在"SYS.DBMS_OUTPUT", line 118
dbms_output缓冲区溢出ORA
-06512: 在"SYS.DBMS_OUTPUT", line 81
dbms_output缓冲区溢出ORA
-06512: 在line 9

在ITPUB论坛上一查发现有人问过类似问题:
http://www.itpub.net/514002.html
解决方法如下:
1、用dbms_output.enable( )设定长度.
DBMS_OUTPUT.ENABLE (buffer_size IN INTEGER DEFAULT 20000); 
(注:该方法按如上设置没成功,直接DBMS_OUTPUT.ENABLE (20000);则成功执行)
2、也可以SET SERVEROUTPUT ON SIZE 5000

其中1方法仅对当次设定有效,删除后仍会提示错误,而2方法是修改配置信息,如果不关闭Sql*plus的该设定仍然存在。

相关文章:

  • 2022-02-17
  • 2021-08-24
  • 2021-07-23
  • 2021-09-11
  • 2022-03-04
  • 2021-03-31
猜你喜欢
  • 2021-07-10
  • 2021-12-12
相关资源
相似解决方案