dbms_output缓冲区溢出

在执行如下sql语句时:

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

出现错误:

None.gif ERROR 位于第  1  行:
None.gifORA
- 20000 : ORU - 10027 : buffer overflow, limit  of   2000  bytes
None.gifORA
- 06512 : 在"SYS.DBMS_OUTPUT", line  34
None.gifORA
- 06512 : 在"SYS.DBMS_OUTPUT", line  118
None.gifORA
- 06512 : 在"SYS.DBMS_OUTPUT", line  81
None.gifORA
- 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的该设定仍然存在。

转载于:https://www.cnblogs.com/xinyuxin912/archive/2006/08/06/469195.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值