oracle ORA-19011在外部查询中,但不在派生表中

kqlmhetl  于 2022-11-03  发布在  Oracle
关注(0)|答案(1)|浏览(253)

下面是我在内部查询中使用的函数,它使用group by对整个数据集执行,没有错误。

RTRIM(XMLAGG(XMLELEMENT(E,LOCATION_CD,';').EXTRACT('//text()'))
    )AS PRAC_LOC

但是,当我将它放到外部查询中时,我得到了错误消息19011。是否可以使用其他编码策略来避免得到此错误消息?您认为隔离查询然后连接到CTE的CTE是否有效?这是一个日志表,因此有多个条目,所以我想我可以使用date = select max(date)隔离连接。
我正在查看有关此错误的所有其他主题,但没有任何内容提到仅在外部查询中的错误。
下面是派生表的一个示例

LEFT OUTER JOIN
(
    SELECT 
    PLACE_ID --Single Grouping on Place_ID
    , RTRIM(XMLAGG(XMLELEMENT(E,LOCATION_CD,';').EXTRACT('//text()'))) AS PRAC_LOC
    FROM GEOTABLE
    GROUP BY PLACE_ID
) GEO
ON GEO.Place_ID = P.Place_ID
gcmastyq

gcmastyq1#

将.getCLOBVal())函数添加到XML脚本的末尾,可以运行该脚本,并在派生表的外部查询中使用它。

RTRIM(XMLAGG(XMLELEMENT(E ,TLOCATION_CD || ',')).EXTRACT('//text()').getCLOBVal())

相关问题