2016-11-16 80 views
0
select 
    XMLELEMENT("BUSINESENTITIES", 
    XMLAGG(
     XMLELEMENT("BUSINESSENTITY", 
         XMLELEMENT("ENTITYTYPE",ENTITY_TYPE), 
         XMLELEMENT("ACCREDITATIONNUMBER",ACCREDITATIONNUMBER), 
         XMLELEMENT("SITENUMBER",SITENUMBER), 
         XMLELEMENT("DEPTNUMBER",DEPTNUMBER), 
         XMLELEMENT("NAME",NAME) 
     ))) result 
    from tmp 

当我尝试xmlagg时抛出此错误。 有人可以帮助我。有没有其他方式做到这一点ORA 31001 XML解析失败

我检查代码页。它这个WE8MSWIN1252(SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET'

enter image description here

+0

我看不出有任何语法问题......我跑在这里 https://livesql.oracle.com/apex/f?p=590:1:114824718401481: :::: –

回答

0

你的表似乎有外面的ASCII字符,我也得到了奇怪的结果与这个简单的测试:

SELECT XMLELEMENT("ENTITYTYPE", 'ö') FROM dual; 
<ENTITYTYPE>ö</ENTITYTYPE> 

我设法得到这一个适当的输出,也许这也有助于你的查询。

SELECT XMLELEMENT("ENTITYTYPE", 'ö').getclobval() FROM dual; 
<ENTITYTYPE>ö</ENTITYTYPE>