Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल एसक्यूएल डेवलपर में स्पूल का उपयोग करके सीएसवी फ़ाइल में चयन कथन के परिणामों को ठीक से कैसे निर्यात करें?

आपका चयन अधूरा है क्योंकि आपके पास प्रेषक नहीं है खंड, लेकिन सुनिश्चित नहीं है कि आपने कॉपी-एंड-पेस्ट में खो दिया है। चूंकि यह चलाने के लिए कुछ भी नहीं है, क्योंकि आंशिक विवरण कभी निष्पादित नहीं होता है (कोई समाप्ति नहीं ; या / अगली पंक्ति पर)। अगर आपके पास किसानों से; . है क्लॉज तो यह कमांड प्लस एक ORA-00923 त्रुटि दिखाएगा, शायद।

आप केवल फ़ील्ड के बीच एक उद्धृत अल्पविराम नहीं लगा सकते हैं, आपको || का उपयोग करके फ़ील्ड को उस वर्ण के साथ संयोजित करने की आवश्यकता है संयोजन चिह्न:

spool 'c:\farmerList.csv'

select FIRSTNAME
    ||','|| LASTNAME
    ||','|| TRN
    ||','|| CELL
    ||','|| PARISH
from farmers;

एक फ़ाइल देता है जिसमें

. होता है
Joe,Grundy,X,Y,Ambridge

फ़ील्ड अलग-अलग लाइनों पर होने की ज़रूरत नहीं है, मुझे बस इतना आसान लगता है कि पढ़ने और कॉमा का ट्रैक रखना आसान हो।

आपको / . की आवश्यकता नहीं है स्पूल कमांड के बाद - जो कि स्पूल . से पहले अंतिम स्टेटमेंट को फिर से एक्सक्यूट करेगा , यदि कोई है - और आपको स्पूल फ़ाइल नाम के आसपास उद्धरण चिह्नों की आवश्यकता नहीं है, जब तक कि उसमें रिक्त स्थान न हों, लेकिन वे चोट नहीं पहुँचाते।

एक सेट colsep कमांड जिसे आप कॉलम विभाजक को अल्पविराम में बनाने के लिए उपयोग कर सकते हैं, लेकिन आपको पैडिंग के बारे में चिंता करनी होगी, इसलिए मुझे कॉलम को एक साथ जोड़ना आसान लगता है जैसा कि आप (लगभग) कर रहे हैं।

सिवाय इसके कि यह SQL * प्लस के लिए है, क्योंकि मैंने शीर्षक में SQL डेवलपर संदर्भ नहीं देखा। डेवलपर में स्पूल थोड़ा अजीब है क्योंकि ऐसा लगता है कि यह उन चीजों को फंसाने और गूंजने लगता है जिन्हें आप शायद नहीं चाहते हैं, और सभी सेट नहीं आदेश काम करते हैं (जो संस्करण पर निर्भर करता है)।

मुझे लगता है कि सुरक्षित और पसंदीदा तरीका है, बिना कॉन्टेनेटेड कॉमा के एक सामान्य क्वेरी चलाना:

select FIRSTNAME, LASTNAME, TRN, CELL, PARISH
from farmers;

और 'रन स्क्रिप्ट' के बजाय 'रन' के साथ, ताकि परिणाम क्वेरी परिणाम विंडो में ग्रिड व्यू में दिखाई दें। ग्रिड पर राइट-क्लिक करें और 'निर्यात' चुनें। फिर आप CSV, या XLS के रूप में भी सहेज सकते हैं, और यदि आप चाहें तो हेडर पंक्ति नहीं रखना चुन सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में ऑब्जर्वर पैटर्न

  2. जावा-ग्रहण:पैकेज oracle.jdbc.driver मौजूद नहीं है

  3. sql oracle में regexp_substr का उपयोग करके विशिष्ट शब्द के बाद एक शब्द प्राप्त करें

  4. R12.2 . में सेवा समूह परिवर्तन

  5. उस पंक्ति को प्राप्त करें जिसमें कॉलम के लिए अधिकतम मान है