2009-07-30 8 views
1

J'ai mis les paramètres ci-dessous dans sqlplus pour afficher ma vue sur la boîte unix, mais il affiche un écart de ligne entre deux enregistrements.Je ne veux pas un écart de ligne entre deux enregistrements Ex-Oracle - sortie ne vient pas dans le bon format

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"," " 

S'il vous plaît aidez-moi à atteindre la sortie ci-dessus.

Répondre

2

Je crois que votre problème est que votre linesize est réglé sur 125, mais votre sortie est de 187 caractères (pour la première ligne quand même). Lorsque sqlplus enveloppe vos lignes, il place l'espace supplémentaire là-bas pour vous permettre de savoir où se termine une ligne encapsulée et l'autre commence. Soit changer la taille de votre ligne à quelque chose de plus grand que 125 (personnellement, je définis toujours la taille à 5000 dans mes scripts - je peux faire mon propre emballage, merci, sqlplus), ou exécuter les résultats via sed pour supprimer les blancs :

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

Il fonctionne exactement ce que je veux ... merci atonn steve !!! –

0

Vous pourriez avoir une séparation d'enregistrement activée:

SET RECSEP EACH 

Essayez:

SET RECSEP OFF 
+0

merci beaucoup muchoffreetime..Maintenant, il me donne le bon jeu de résultats !! –

Questions connexes