sqlplus报告 - 正在截断的XML数据

时间:2010-04-07 16:32:46

标签: xml oracle sqlplus

我正在运行一个查询,它将XML数据和假脱机返回给文件。我遇到了查询输出被截断的问题。这是它的样子:

XMLDATA                                          
----------------------------------------         
<?xml version="1.0" standalone="yes"?>           
<msgs>                                           
  <msg>                                          
    <PNUM>ABC12345                       

我所期待的是这样的:

XMLDATA                                          
----------------------------------------         
<?xml version="1.0" standalone="yes"?>           
<msgs>                                           
  <msg>                                          
    <PNUM>ABC1234567</PNUM>
    <MSG_ID>1234</MSG_ID>
    <NAME>Test message</NAME>
    <TEXT>This is the main content of the message</TEXT>
  </msg>
  <!-- about 60 other msg elements -->
</msgs>

select语句很简单:

select xmlroot(xmlelement("msgs",xmlagg(xmlelement("msg",xmlforest(PNUM , MSG_ID , NAME, TEXT)))), VERSION '1.0', STANDALONE YES) xmldata
from ...

我猜这里有一些sqlplus格式化技巧,我只是不知道哪一个(甚至是它的名字)。

(Oracle版本为10g)

1 个答案:

答案 0 :(得分:4)

This可能有所帮助:

  

数据类型列的默认宽度   是列中的宽度   数据库。 LONG的列宽,   CLOB,NCLOB或XMLType默认为   SET LONGCHUNKSIZE或SET的值   LONG,以较小者为准,所以我   设置LONGLONG LONG和LONGCHUNKSIZE   到32K,它工作得很漂亮。