أوراكل - الانتاج لا يأتي في الشكل الصحيح
سؤال
ولقد تعيين المعلمات التالية في 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