我正在使用 SQL 语句的这一部分从 N:N 关系中获取信息。
目标是拥有一个包含如下列的视图:“ STRING1,STRING2,STRING3 ”。这工作正常,但我有时在列中有超过 4000 个字节。
(SELECT
(RTRIM(XMLAGG(xmlelement(X, TABLE1.STRING||',') order by TABLE1.STRING).extract('//text()'),','))
FROM
STRING_HAS_TABLE1
JOIN TABLE1 STRING_HAS_TABLE1.STRING_ID = TABLE1.ID
WHERE
STRING_HAS_TABLE1.USER_ID = X.ID) AS STRINGS,
Oracle 抛出“缓冲区溢出”。我认为问题在于视图内的列类型:VARCHAR2(4000)。
错误:ORA 19011 - 字符串缓冲区过小
在不改变整个应用程序逻辑的情况下处理这个问题有什么想法吗?