在Oracle的"Run / SQL“窗口中,是否有一种将默认变量大小从VARCHAR2(200)
增加到VARCHAR2(4000)
的方法
例如,如果创建这样的过程:
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窗口中,我没有看到任何选项。
发布于 2022-03-17 12:09:37
抱歉,没办法了。
我会调查急诊室把这个增加到4000。
作为一种解决方案,您可以使用脚本来测试您的过程,然后使用Execute As (F5)按钮在Script中完全按照您的意愿运行这些脚本。
https://stackoverflow.com/questions/71505824
复制相似问题