【发布时间】:2022-09-28 20:03:56
【问题描述】:
CREATE function f4001 return varchar2
is
begin
return rpad(\'*\', 4100, \'*\');
end;
select f4001() from dual;
不起作用:sql 缓冲区太小
因此,要分配一个 sql 变量,我使用它:
variable buffer varchar(32000); execute :buffer = f4001();我可以打印它:
print buffer但我无法提示。或者使用 it 作为 powershell 函数的参数:
host powershell echo \'&buffer\'出于这个原因,我必须使用 \'define\' 或 \'column\'。
定义:我没有找到一种方法来给出带有定义的 pl/sql 函数的结果。我能做的就是:
define buffer= cte列:仅适用于 N>4000 的 varchar(N)。
column buffer new_value buffer select f3999 as buffer from dual好的
select f4001 as buffer from dual缓冲区变小