我有一个这样的脚本:
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET TERMOUT OFF
SET TRIMOUT ON
SET TRIMSPOOL ON
SET WRAP OFF
SET LINESIZE 32000
SET LONG 32000
SET LONGCHUNKSIZE 32000
SET SERVEROUT ON
SPOOL C:\Export.txt
SELECT XMLELEMENT("element1",xmlelement("element2",xmlattributes(.....)))
FROM --TABLENAME--
WHERE --CONDITIONS--
输出应该是一个包含行列表的文件,其中包含复杂的 xml,但是当生成的 XML 的长度超过 2000 时,SQLPlus 会修剪到 2000 并转到下一行。
有没有办法强制SQLPlus将所有数据写入同一行?
只需在 SET 命令后面添加以下行:
COL ColumnName FORMAT A32000
其中 ColumnName 是 SELECT 语句中 XML 列的别名(您需要添加别名)。
这将设置该列的最大宽度,默认情况下为 2000 个字符。请注意,虽然您可以将 COL FORMAT 设置为高达 60000 个字符,但使用 sqlplus 在一行上实际获得的最多字符数是32767,因为这是 LINESIZE 的上限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)