1
SET PAGES 0;
SET LINE 1000;
SET LONG 9999999;
SPOOL C:\pensionnew.xml;
col foo format a60000;
--SELECT DBMS_XMLGEN.GETXML('SELECT * FROM DATAAG')foo FROM DUAL;
SELECT DBMS_XMLGEN.GETXML('SELECT XMLConcat(XMLElement("ID", e.ID),XMLElement("LAST_OFFICE_WORKED", e.LAST_OFFICE_WORKED))as "Pendata" 
  FROM dataag e') foo FROM DUAL;
SPOOL OFF;

我将此代码用于 xml 生成,但在特定长度之后剪切了列标记,那么如何增加列长度或最大格式?

4

2 回答 2

0

使用以下命令设置页面和行大小

set linesize value;
set pagesize value;

您可以在值中设置最大值

于 2013-01-31T06:10:22.180 回答
0

为什么使用 dbms_xmlgen.getxml 作为 XMLconcat/element 选择的包装器?您是否尝试将其汇总为 1 行?

我怀疑它在终端而不是日志中包装(因为您的示例中有 linesize 1000 和 col 格式为 60000)。如果是日志,您可以发布示例 XML 输出吗?

xmlagg是将其作为一个 xml 文档获取的另一种方法。

SELECT XMLSERIALIZE(content xmlagg(XMLConcat(XMLElement("ID", 
       e.ID),XMLElement("LAST_OFFICE_WORKED", e.LAST_OFFICE_WORKED))) indent) 
  FROM dataag e;

XMLSERIALIZE添加只是为了漂亮的打印。

于 2013-01-31T08:25:04.293 回答