日期:2014-05-17  浏览次数:20809 次

Oracle spool问题
我有一表,创建如下:
create table tmp (name varchar2(10),n char(10));
然后插入一条数据
insert into tmp values('dd ','kk ');


我想用spool将其导出成TXT文件,我做了多种set的尝试,但是导出的文件要不就是结尾很多空格,
要不就是结尾没空格; 而我想要的结果是结尾正好8个空格,因为n char(10)应该共10的长度,去掉kk正好8个空格才对...

我的代码如下:

SET ECHO OFF;
SET FEEDBACK OFF;
SET HEADING OFF;
SET PAGESIZE 0;
SET LINESIZE 1000;
SET TRIMSPOOL ON;
SET TRIMOUT ON;
SET TERMOUT OFF;
SET VERIFY OFF;

SPOOL D:\EXT_CONTRAT1.TXT;

SELECT name||'|'||n
FROM tmp;

SPOOL OFF;

------解决方案--------------------
试一下用列格式化命令:
col a for a10
------解决方案--------------------
不明白你的目的到底是什么,不过如果只是想把结果输出到文本,并且不依靠程序来实现,那使用plsql develop运行Select语句,把结果拷贝并粘贴到一个文本文件里,不就行了吗?