增加 "Run PL/SQL" window 中 OUT VARCHAR2 变量的默认大小
Increase default size for OUT VARCHAR2 variables in "Run PL/SQL" window
在 Oracle SQL Developer "运行 PL/SQL" window 中,有没有办法将默认变量大小从 VARCHAR2(200)
增加到 VARCHAR2(4000)
?
例如,如果您创建这样的过程:
create or replace procedure test_proc(p_out in out varchar2) is
begin
p_out := lpad('A', 1000, 'A');
end;
/
然后右键单击该过程并 select "运行...":
“运行 PL/SQL”windows 打开并为 运行 过程创建匿名块并检索输出变量。
不幸的是,VARCHAR2(200)
的默认大小不够大,运行 程序生成错误“ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小”。
我们可以手动将变量大小从 200 更改为 4000,但是每次都必须为每个过程都这样做很烦人。 window确实会暂时记住更改,但在程序重新打开后会重置。
让问题更加烦人的是,错误实际上是在 过程中生成的。这意味着我们的日志系统记录了这些错误,并且将它们与合法错误区分开来并非易事。
有什么方法可以更改默认大小吗?我在版本 21.4.1.349 的首选项 window 中没有看到任何选项。
抱歉,没有这个选项。
我会调查 ER 以将其增加到 4000。
作为解决方法,您可以使用脚本来测试您的程序,然后 运行 使用按脚本执行 (F5) 按钮在 SQL 工作表中完全按照您的意愿进行测试。
在 Oracle SQL Developer "运行 PL/SQL" window 中,有没有办法将默认变量大小从 VARCHAR2(200)
增加到 VARCHAR2(4000)
?
例如,如果您创建这样的过程:
create or replace procedure test_proc(p_out in out varchar2) is
begin
p_out := lpad('A', 1000, 'A');
end;
/
然后右键单击该过程并 select "运行...":
“运行 PL/SQL”windows 打开并为 运行 过程创建匿名块并检索输出变量。
不幸的是,VARCHAR2(200)
的默认大小不够大,运行 程序生成错误“ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小”。
我们可以手动将变量大小从 200 更改为 4000,但是每次都必须为每个过程都这样做很烦人。 window确实会暂时记住更改,但在程序重新打开后会重置。
让问题更加烦人的是,错误实际上是在 过程中生成的。这意味着我们的日志系统记录了这些错误,并且将它们与合法错误区分开来并非易事。
有什么方法可以更改默认大小吗?我在版本 21.4.1.349 的首选项 window 中没有看到任何选项。
抱歉,没有这个选项。
我会调查 ER 以将其增加到 4000。
作为解决方法,您可以使用脚本来测试您的程序,然后 运行 使用按脚本执行 (F5) 按钮在 SQL 工作表中完全按照您的意愿进行测试。