我正在运行一个查询,它将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)
答案 0 :(得分:4)
This可能有所帮助:
数据类型列的默认宽度 是列中的宽度 数据库。 LONG的列宽, CLOB,NCLOB或XMLType默认为 SET LONGCHUNKSIZE或SET的值 LONG,以较小者为准,所以我 设置LONGLONG LONG和LONGCHUNKSIZE 到32K,它工作得很漂亮。