在 Oracle 19c 中,我创建了表:
create table SAMPLE_TABLE (
id NUMBER not null,
display_name NVARCHAR2(4000), )
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时:
declare
i integer;
p_tmp_clob clob;
begin
select JSON_ARRAYAGG(JSON_OBJECT(t.* )) into p_tmp_clob from SAMPLE_TABLE t;
end;
Run Code Online (Sandbox Code Playgroud)
我收到以下 ORA-40478 异常。ORA-40478: 输出值太大(最大值:4000)
a_h*_*ame 10
您需要告诉函数返回一个 CLOB,而不是一个 varchar :
JSON_ARRAYAGG 也可能有必要(或者可能只有那里 - 我现在无法测试)
declare
i integer;
p_tmp_clob clob;
begin
select JSON_ARRAYAGG(JSON_OBJECT(t.* RETURNING CLOB) RETURNING CLOB)
into p_tmp_clob
from SAMPLE_TABLE t;
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4332 次 |
最近记录: |