我可以翻译这段内容。这是关于编程的内容,主要讲述了一个包含大量JSON数据的CLOB表格,但是无法选择某些属性,因为它们的值超过了4000个字节。下面是需要翻译的文本:
以下工作:
以下代码会出现
我有一张表格,其中包含一个存储大型JSON负载的CLOB。然而,我无法选择某些属性,因为它们的值大于4000个字节。
例如,像这样的JSON:
{
"foo": "some string smaller than 4k",
"bar": "some string larger than 4k"
}
以下工作:
SELECT json_value(j, '$.foo' ERROR ON ERROR) FROM j;
以下代码会出现
ORA-40478: output value too large (maximum:)
错误:SELECT json_value(j, '$.bar' ERROR ON ERROR) FROM j;
来自 this 12CR1 文档:
ORA-40478:输出值过大(最大值:string)
原因:提供的 JavaScript 对象符号 (JSON) 运算符生成的结果超出了 RETURN 子句中指定的最大长度。
操作:增加 RETURNING 子句中数据类型的最大大小,或在 RETURNING 子句中使用 CLOB 或 BLOB。
然而,使用 RETURNING
子句也会失败,并显示 ORA-40444: JSON 处理错误
:
SELECT json_value(j, '$.bar' RETURNING CLOB ERROR ON ERROR) FROM j;
它在 PLSQL 期间也失败了。
DECLARE
val CLOB;
BEGIN
SELECT json_value(j, '$.bar' RETURNING CLOB ERROR ON ERROR)
INTO val
FROM j
END;