2009-07-30 4 views
1

Я установил следующие параметры в sqlplus, чтобы отобразить мой вид, помещенный в unix box. Однако он отображает один промежуток между двумя записями. Я не хочу, чтобы один разрыв строки между две записи Ex-Oracle - вывод не поступает в правильном формате

set feedback off 
SET NEWPAGE NONE 
set HEADING Off 
set pagesize 0 
set linesize 125 
SET TRIMSPOOL ON 
set termout off 
spool /export/home/43276826/Rep_Tran_oracle_$DATE_FILE.txt 
select RecordID||','||C_S||','||P_R||','||AccountingDate||','||SettlementDate||','||Sec 
Description||','||ISIN||','||MessageRef||','||Amount||','||Department||','||AssignedTo||','||LastUpdate||','||CashAmount||',' 
||CashAmountUSD||','||LastNoteText||','||LastNoteUser||','||CashCurrency||','||BIMASNumber||','||RelatedReference||','||Sende 
rToRec||','||OpType||','||OriginalISIN from HSBC_ALL_OI_T; 

201280,C,R,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1006851",188.00 
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357690"," ","FR"," " 

"201279,C,P,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1401548",188.00 
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357689"," ","FD"," " 

there is a gap of one line between two records,I don't want that one line gap.I want output in the below format: 

201280,C,R,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1006851",188.00 
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357690"," ","FR"," " 
"201279,C,P,21.4.2009,21.4.2009,"HSBC HLDG","GB0005405286","00001/20090421-1401548",188.00 
0000,"TITBB/F"," ",22.4.2009,0.00,,"NOTHING GENEVA","ADK"," ","GB411161","SF-0357689"," ","FD"," " 

Пожалуйста, помогите мне в достижении вышеуказанного выхода.

ответ

2

Я считаю, что ваша проблема в том, что ваш linesize установлен в 125, но ваш выход 187 символов (для первая строка в любом случае). Когда sqlplus обертывает ваши строки, он помещает дополнительное пространство там, чтобы вы знали, где заканчивается одна завернутая строка, а другая начинается.

Либо меняйте свой размер линии на нечто большее, чем 125 (лично я всегда задавал линии в 5000 в моих сценариях - я могу сделать свою собственную упаковку, спасибо, sqlplus) или запустить результаты через sed, чтобы удалить пробелы :

cat myResultFile.txt | sed '/^$/d' > newResultFile.txt 
+0

Он работает именно то, что я хочу ... поблагодарить atonn steve !!! – 2009-07-31 06:26:51

0

Вы можете иметь разделение записи включено:

SET RECSEP EACH 

Try:

SET RECSEP OFF 
+0

большое спасибо lotsoffreetime..Now это дает мне правильный результат! – 2009-07-31 06:28:19

Смежные вопросы