1. एक निर्देशिका ऑब्जेक्ट बनाएं जिसमें आप CSV फ़ाइल लिखेंगे।
-- विंडोज़ सिस्टम के लिए आपकी निर्देशिका के साथ हाइलाइट किए गए फ़ोल्डर को निम्नलिखित परिवर्तन के रूप में बनाएंCREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp' /-- यूनिक्स/लिनक्स सिस्टम के लिए निम्नलिखित के रूप में बनाएं
CREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/' /नोट:फ़ोल्डर स्थान को अपनी निर्देशिका स्थान में बदलें, उदाहरण के लिए, c:\abc या /abc/।
2. स्कॉट स्कीमा में एक डेटाबेस प्रक्रिया बनाएँ या यदि आप किसी अन्य स्कीमा में बना रहे हैं तो सुनिश्चित करें कि आपके पास उस स्कीमा में Emp तालिका है, अन्यथा आपको किसी अन्य तालिका के लिए कर्सर और फ़ील्ड संदर्भ बदलने की आवश्यकता है।
CREATE OR REPLACE PROCEDURE export_to_csv IS v_file UTL_FILE.file_type; v_string VARCHAR2 (4000); CURSOR c_emp IS SELECT empno, ename, deptno, sal, comm FROM emp; BEGIN v_file := UTL_FILE.fopen ('CSVDIR', 'empdata.csv', 'w', 1000); -- if you do not want heading then remove below two lines v_string := 'Emp Code, Emp Name, Dept, Salary, Commission'; UTL_FILE.put_line (v_file, v_string); FOR cur IN c_emp LOOP v_string := cur.empno || ',' || cur.ename || ',' || cur.deptno || ',' || cur.sal || ',' || cur.comm; UTL_FILE.put_line (v_file, v_string); END LOOP; UTL_FILE.fclose (v_file); EXCEPTION WHEN OTHERS THEN IF UTL_FILE.is_open (v_file) THEN UTL_FILE.fclose (v_file); END IF; END;<एच3>3. अब इस प्रक्रिया को इस प्रकार चलाएँ:
BEGIN export_to_csv; END;अब आप निर्देशिका बनाएँ कमांड में निर्दिष्ट अपनी निर्देशिका की जाँच कर सकते हैं कि फ़ाइल empdata.csv तालिका डेटा के साथ मौजूद होना चाहिए। मैंने एक उपयोगिता बनाई है जो ऑनलाइन प्रक्रिया उत्पन्न करती है इसे आजमाएं:
- तालिका से डेटा निर्यात करने के लिए PL/SQL प्रक्रिया ऑनलाइन जेनरेट करें