使用带有Clob的xmlattributes的plsql错误

时间:2019-05-27 16:03:14

标签: sql xml oracle plsql clob

我有这个查询。仅当列my_table_column_string_xml设置为VARCHAR2时,它才能正常工作。

不幸的是,此列必须包含比最大长度varchar2大的数据。

我试图将列移至clob ..但如果运行查询,则会收到错误:

  

ORA-19202:XML细化期间出错
  ORA-00932:不确定的数据类型:等待-已获得CLOB
  ORA-06512:“ SYS.DBMS_XMLGEN”行237
  ORA-06512:“ SYS.DBMS_XMLGEN”行271
  ORA-06512:第1行

我也尝试将列设置为XMLTYPE,但在运行查询时会收到相同的错误消息(除了发胖表示已获取CLOB)

select xmlelement("ROOT",xmlagg(dbms_xmlgen.getxmltype(dbms_xmlgen.newcontextFromHierarchy
           ('select level,xmlelement(evalname entita,xmlattributes(my_table_column_string_xml as MyXmlString)) 
              from( select *
                    from MyTable t                  
                  )
              connect by prior my_table_column_object = my_table_column_object_father
              start with my_table_column_object_father is null
              order by my_table_column_order
           ')))).getClobVal()  as xml 
        from dual;

即使我使用Clob列,我也需要具有与原始查询相同的结果

0 个答案:

没有答案