如何使用 xmltable 从 clob 中读取值?

how to use xmltable to read values from a clob?

我正在尝试从 table MVR_DTL 中的 VENDOR_XML 列中获取属性值。 VENDOR_XML 是 clob 数据类型,包含一个 xml 看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<MVRCHPINFF_1.0>
   <MVRRecLoop>
      <CLoop>
         <CRec>
            <C_MVRNumberAddr>ROMAN GENERAL</C_MVRNumberAddr>
         </CRec>
         <CRec>
            <C_MVRNumberAddr>ROMAN ST</C_MVRNumberAddr>
         </CRec>
         <CRec>
            <C_MVRNumberAddr>ROMAN CITY, ROME 111111</C_MVRNumberAddr>
         </CRec>
      </CLoop>
 </MVRRecLoop>
</MVRCHPINFF_1.0>

我试过了运行

SELECT c.Address  
    from MVR_DTL M,  XMLTABLE('/MVRCHPINFF_1.0/MVRRecLoop/CLoop/CRec'
passing XMLTYPE(M.VENDOR_XML)
columns Address XMLTYPE PATH './C_MVRNumberAddr') c;

我期待的是

ROMAN GENERAL ROMAN ST ROMAN CITY, ROME 111111

但我只得到'Statement has failed, however your database does not return any error information.'

Oracle 版本 12.2.0.1.0

SELECT c.Address from MVR_DTL M,  
XMLTABLE(
    'string-join(/MVRCHPINFF_1.0/MVRRecLoop/CLoop/CRec/C_MVRNumberAddr, "  ")'
passing XMLTYPE(M.VENDOR_XML)
columns Address varchar2(200) PATH '.') c;