我正在尝试使用sql / xml在oracle-sql中创建一个xml文档。 我准备好了我的脚本但是当我运行它时它只显示输出的一小部分。
<NBA><DIVISION ID="East"><FIRSTNAME>Jeffrey</FIRSTNAME><LASTNAME>Teague</LASTNAM
如何获取整个输出以及如何将xml输出写入文件?
答案 0 :(得分:0)
在您的脚本中添加
$target = array();
$elementCount = count($tmparray);
$newElementCount = 0;
for ($i = 0; $i < $elementCount; $i++) {
$found = false;
for ($j = 0; (!$found) && (j < $newElementCount); j++) {
$found = $target[$j][0] === $tmparray[$i][0] || $target[$j][1] === $tmparray[$i][1];
}
if (!$found) {
$target[$newElementCount++]=$tmparray[$i];
}
}
在查询之前。它控制显示多少长CLOB和XMLType列(以及一些其他类型)。默认值只有80个字符,这是您当前看到的字符。
Read more in the SQL*Plus documentation,其中大部分也适用于SQL Developer。
在11g和12c SQL * Plus中,最多可以达到2000000000字节,因此实际看到的最大数量取决于您使用的Oracle和SQL Developer的版本。如果您的XML超过32k,请尝试将long设置为该数字并查看是否有抱怨。您还需要set long 32767
足够大的值来阻止它包装,并且您可能会首先达到限制。或者根据文档中提到的可用RAM量。
如果要将输出写入客户端计算机上的文件,可以spool the output。您还可以将查询作为查询(而不是脚本)运行,并将结果保存到查询结果网格中 - 但如果您的脚本也在执行其他操作,则这不一定有用。如果要写入服务器上的文件,则需要使用PL / SQL(请参阅set linesize
包)。