首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在"Run /SQL“窗口中增加VARCHAR2变量的默认大小

在"Run /SQL“窗口中增加VARCHAR2变量的默认大小
EN

Stack Overflow用户
提问于 2022-03-17 00:45:50
回答 1查看 211关注 0票数 2

在Oracle的"Run / SQL“窗口中,是否有一种将默认变量大小从VARCHAR2(200)增加到VARCHAR2(4000)的方法

例如,如果创建这样的过程:

代码语言:javascript
运行
复制
create or replace procedure test_proc(p_out in out varchar2) is
begin
    p_out := lpad('A', 1000, 'A');
end;
/

然后右键单击该过程并选择“Run.”:

"Run /SQL“窗口将打开并创建一个匿名块,用于运行过程和检索输出变量。

不幸的是,VARCHAR2(200)的默认大小还不够大,运行该过程将生成"ORA-06502: PL/SQL:数值或值错误:字符串缓冲区太小“的错误。

我们可以手动将变量大小从200更改到4000,但是每次都要这样做,对于每个过程来说都是很烦人的。窗口会暂时记住更改,但是它会在程序重新打开后重置。

为了使问题更加恼人,错误实际上是在过程中生成的。这意味着我们的日志记录系统记录了这些错误,将它们与合法错误分开并不容易。

有什么方法可以改变默认大小吗?在21.4.1.349版的Preferences窗口中,我没有看到任何选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-17 12:09:37

抱歉,没办法了。

我会调查急诊室把这个增加到4000。

作为一种解决方案,您可以使用脚本来测试您的过程,然后使用Execute As (F5)按钮在Script中完全按照您的意愿运行这些脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71505824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档