أوراكل - الانتاج لا يأتي في الشكل الصحيح

StackOverflow https://stackoverflow.com/questions/1207506

  •  05-07-2019
  •  | 
  •  

سؤال

ولقد تعيين المعلمات التالية في sqlplus لعرض وجهة نظري اخماد على مربع يونكس، ومع ذلك فإنه يتم عرض الفجوة سطر واحد بين اثنين records.I لا يريدون أن الفجوة سطر واحد بين اثنين من السجلات السابق -

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

والرجاء مساعدتي في تحقيق الناتج أعلاه.

هل كانت مفيدة؟

المحلول

وأعتقد أن المشكلة هي أن يتم تعيين linesize إلى 125، ولكن الإخراج هو 187 حرفا (للخط الأول على أي حال). عندما sqlplus يلتف الخطوط الخاصة بك، فإنه يضع مساحة إضافية هناك لتمكنك من معرفة أين ينتهي سطر واحد ملفوفة وتبدأ الأخرى.

وإما تغيير حجم الخط الخاص بك إلى شيء أكبر من 125 (شخصيا، وأنا دوما تعيين linesize إلى 5000 في كتاباتي - أستطيع أن أقوم التفاف الخاصة، شكرا لك، sqlplus)، أو تشغيل النتائج من خلال الحوار الاقتصادي الاستراتيجي لإزالة الفراغات:

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

نصائح أخرى

قد يكون لديك تحول الفصل سجل في:

SET RECSEP EACH

وجرب:

SET RECSEP OFF
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top