我有这个查询。仅当列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列,我也需要具有与原始查询相同的结果