Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 spool в файл  [new]
shalunya
Member

Откуда: Москва
Сообщений: 52
Привет всем!
делаю вывод в файл
следующим скриптом:
SQL=`sqlplus -s -L $CTL_CON<<EOF
       set head off;  
       set feedback off;
       set newpage 0;
       set space 0;
       set pagesize 0;
       set echo off;
       set verify off;
       set colsep '|';
       set trimspool on linesize 180;
        spool $PMRootDir/Temp/list_name_load.lst     
       whenever sqlerror exit 1;
	   select 
		trim(NAME),
                BUSINESS_DT
	   from
		TABLE1
	   order by
		BUSINESS_DT;
EOF`


получаю в файле кучу лишних пробелов между столбцами:

NAME1                                                                              |14-JUL-2011 00:00:00
NAME2                                                                              |15-JUL-2011 00:00:00
NAME3                                                                              |16-JUL-2011 00:00:00


Как их убрать?
12 окт 12, 11:09    [13306913]     Ответить | Цитировать Сообщить модератору
 Re: spool в файл  [new]
Soleri
Member

Откуда:
Сообщений: 80
shalunya,

column format
12 окт 12, 11:15    [13306972]     Ответить | Цитировать Сообщить модератору
 Re: spool в файл  [new]
Добрый Э - Эх
Guest
назначь алиас своей колонке и задай формат для неё

SQL=`sqlplus -s -L $CTL_CON<<EOF
       set head off;  
       set feedback off;
       set newpage 0;
       set space 0;
       set pagesize 0;
       set echo off;
       set verify off;
       set colsep '|';
       set trimspool on linesize 180;
       column x_name format a10
        spool $PMRootDir/Temp/list_name_load.lst     
       whenever sqlerror exit 1;
	   select 
		trim(NAME) as x_name,
                BUSINESS_DT
	   from
		TABLE1
	   order by
		BUSINESS_DT;
EOF`
12 окт 12, 11:17    [13306994]     Ответить | Цитировать Сообщить модератору
 Re: spool в файл  [new]
shalunya
Member

Откуда: Москва
Сообщений: 52
Добрый Э - Эх,

Помогло, но а если у меня это столбец переменной длинны, такой способ не избавит меня от лишних пробелов?
например
NAME1           |14-JUL-2011 00:00:00
NAME234        |15-JUL-2011 00:00:00
NAME47453453|16-JUL-2011 00:00:00
12 окт 12, 11:51    [13307298]     Ответить | Цитировать Сообщить модератору
 Re: spool в файл  [new]
shalunya
Member

Откуда: Москва
Сообщений: 52
если я делаю вот так :

SQL=`sqlplus -s -L $CTL_CON<<EOF
       set head off;  
       set feedback off;
       set newpage 0;
       set space 0;
       set pagesize 0;
       set echo off;
       set verify off;
       set colsep '|';
       set trimspool on linesize 180;
        spool  $PMRootDir/Temp/list_name_load.lst     
       whenever sqlerror exit 1;
	   select 
		trim(NAME)||'|'||
                BUSINESS_DT
	   from
		TABLE1
	   order by
		BUSINESS_DT;
EOF`


то всё ок, но это всё таки хард код :-(
12 окт 12, 11:58    [13307375]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить