Oracle डेटाबेस को क्वेरी करते समय, आप SPOOL
. का उपयोग कर सकते हैं SQLcl का उपयोग करते समय अपने क्वेरी परिणामों को टेक्स्ट फ़ाइल में निर्यात करने का आदेश।
उदाहरण
यहां एक उदाहरण दिया गया है जो पूरी तालिका को निर्यात करता है:
SPOOL '/Users/barney/data/regions.txt';
SELECT * FROM regions;
SPOOL off;
लाइन दर लाइन इसने क्या किया:
- पहली पंक्ति में
SPOOL
का उपयोग किया गया है यह निर्दिष्ट करने के लिए आदेश दें कि आउटपुट फ़ाइल कहाँ लिखी जाएगी।/Users/barney/data/regions.txt
. को बदलना सुनिश्चित करें आपके सिस्टम पर किसी स्थान पर, और एक उपयुक्त फ़ाइल नाम पर। - दूसरी पंक्ति में, मैंने SQL क्वेरी चलाई - जिसके परिणाम मैं निर्यात कर रहा हूं। इस मामले में, मैंने पूरे
regions
. का निर्यात किया टेबल. - अगला, मैं
SPOOL
बदल गया बंद।
यहाँ परिणामी फ़ाइल कैसी दिखती है:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa 4 rows selected.
मेरे मामले में, मेरा SQLFORMAT
ansiconsole
. पर सेट किया गया था , और इसलिए आउटपुट उसे दर्शाता है।
आप इसे उपयुक्त किसी भी प्रारूप में बदल सकते हैं।
परिणाम को एक प्रारूप में निर्यात करने का एक उदाहरण यहां दिया गया है जिसे sql*loader के साथ आयात फ़ाइल के रूप में उपयोग किया जा सकता है:
SET SQLFORMAT loader
SPOOL '/Users/barney/data/regions_loader.txt';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole
परिणाम:
1|"Europe"| 2|"Americas"| 3|"Asia"| 4|"Middle East and Africa"| 4 rows selected.
इस मामले में मैं SQLFORMAT
. को भी रीसेट करता हूं ansiconsole
पर वापस जाएं एक बार SPOOL
ऑपरेशन पूरा हो गया था।
फ़ीडबैक निकालें
आप X rows selected
SET FEEDBACK off
:
SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt';
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on
परिणाम:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
इस मामले में मैंने FEEDBACK
को बदल दिया फ़ाइल निर्यात करने के बाद वापस चालू करें।
परिणाम जोड़ें
डिफ़ॉल्ट रूप से, SPOOL
REPLACE
. का उपयोग करता है , जो फ़ाइल को बदल देता है यदि वह पहले से मौजूद है।
हालांकि, हम APPEND
. का उपयोग कर सकते हैं फ़ाइल में परिणाम जोड़ने का तर्क।
उदाहरण:
SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt' APPEND;
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on
परिणामी फ़ाइल:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
इस उदाहरण ने परिणामों को उस फ़ाइल में जोड़ा जो पिछले उदाहरण में बनाई गई थी (और आबाद थी)। इसके परिणामस्वरूप फ़ाइल में परिणाम दोहराया गया।
मौजूदा फ़ाइल को अधिलेखित करें
हम REPLACE
. का उपयोग कर सकते हैं नई क्वेरी के परिणामों के साथ मौजूदा फ़ाइल को अधिलेखित करने के लिए:
SET SQLFORMAT ansiconsole
SET FEEDBACK off
SPOOL '/Users/barney/data/regions_no_feedback.txt' REPLACE;
SELECT * FROM regions;
SPOOL off;
SET FEEDBACK on
परिणामी फ़ाइल:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
जैसा कि बताया गया है, REPLACE
डिफ़ॉल्ट सेटिंग है, इसलिए हम इस तर्क को पूरी तरह से छोड़ सकते थे।