Oracle11g 设置oracle中xml generate from表中的最大列格式
我将此代码用于xml生成,但colunms标记在该特定长度之后剪切,因此如何增加列长度或最大格式?使用以下命令设置页面和行大小Oracle11g 设置oracle中xml generate from表中的最大列格式,oracle11g,Oracle11g,我将此代码用于xml生成,但colunms标记在该特定长度之后剪切,因此如何增加列长度或最大格式?使用以下命令设置页面和行大小 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(
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;
您可以在值中设置最大值,为什么要使用dbms_xmlgen.getxml作为xmlcontat/element select的包装?您正在尝试将其聚合为一行吗 我怀疑它是在终端中包装的,而不是在日志中包装的(因为您的示例中的线宽为1000,col格式为60000)。如果是日志,您可以发布一个示例XML输出吗
xmlagg
是将其作为一个xml文档获取的另一种方法
set linesize value;
set pagesize value;
XMLSERIALIZE
仅添加到漂亮的打印中
SELECT XMLSERIALIZE(content xmlagg(XMLConcat(XMLElement("ID",
e.ID),XMLElement("LAST_OFFICE_WORKED", e.LAST_OFFICE_WORKED))) indent)
FROM dataag e;