How to increase dbms_output buffer?(如何增加 dbms_output 缓冲区?)
问题描述
我尝试通过 dbms_output 调试我的动态查询,但对于 dbms_output 缓冲区来说,查询字符串似乎太长了.
I tried to debug my dynamic query via dbms_output but seems like the query string is too long for dbms_output buffer.
我得到了:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at "SYS.DBMS_OUTPUT", line 148
ORA-06512: at line 1
知道如何增加缓冲区大小吗?
Any idea how to increase the buffer size ?
推荐答案
您可以启用 DBMS_OUTPUT 并设置缓冲区大小.缓冲区大小可以在 1 到 1,000,000 之间.
You can Enable DBMS_OUTPUT and set the buffer size. The buffer size can be between 1 and 1,000,000.
dbms_output.enable(buffer_size IN INTEGER DEFAULT 20000);
exec dbms_output.enable(1000000);
检查这个
Check this
编辑
根据 Frank 和 Mat 发表的评论,您也可以使用 Null 启用它
As per the comment posted by Frank and Mat, you can also enable it with Null
exec dbms_output.enable(NULL);
buffer_size :缓存信息量的上限,以字节为单位.将 buffer_size 设置为 NULL 指定不应有限制.最大大小为 1,000,000,当用户指定 buffer_size (NOT NULL) 时,最小为 2,000.
buffer_size : Upper limit, in bytes, the amount of buffered information. Setting buffer_size to NULL specifies that there should be no limit. The maximum size is 1,000,000, and the minimum is 2,000 when the user specifies buffer_size (NOT NULL).
这篇关于如何增加 dbms_output 缓冲区?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何增加 dbms_output 缓冲区?
基础教程推荐
- 带更新的 sqlite CTE 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
