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

Oracle UTL_FILE CSV फ़ाइल लाइन पढ़ें

यहां एक उदाहरण दिया गया है जो दिखाता है कि यह कैसे करना है। अलग-अलग निर्देशिका और फ़ाइल नामों के कारण मेरा कोड आपसे थोड़ा अलग है।

नमूना तालिका, जिसमें फ़ाइल में संग्रहीत डेटा होगा:

SQL> create table test2 (id number, fname varchar2(20), lname varchar2(20));

Table created.

कोड; दिलचस्प हिस्सा है पंक्ति 14 और पूरी पंक्ति को अलग-अलग मानों में विभाजित करने का तरीका:

SQL> declare
  2    l_file         utl_file.file_type;
  3    l_text         varchar2(32767);
  4    l_cnt          number;
  5  begin
  6    -- Open file.
  7    l_file := utl_file.fopen('EXT_DIR', 'test2.txt', 'R', 32767);
  8
  9    loop
 10      utl_file.get_line(l_file, l_text, 32767);
 11
 12      -- L_TEXT contains the whole row; split it (by commas) into 3 values
 13      -- and insert them into the TEST2 table
 14      insert into test2 (id, fname, lname)
 15        values (regexp_substr(l_text, '[^,]+', 1, 1),
 16                regexp_substr(l_text, '[^,]+', 1, 2),
 17                regexp_substr(l_text, '[^,]+', 1, 3)
 18               );
 19    end loop;
 20
 21    utl_file.fclose(l_file);
 22  exception
 23    when no_data_found then
 24      null;
 25  end;
 26  /

PL/SQL procedure successfully completed.

परिणाम:

SQL> select * from test2;

        ID FNAME                LNAME
---------- -------------------- --------------------
       100 Steven               King
       101 Neena                Kochha
       102 Lex                  De Haan
       103 Alexander
       104 Bruce                Ernst

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ऑरैकल में टेक्स्ट फ़ाइल से तालिका में डेटा लोड हो रहा है

  2. ORA-12560:TNS:प्रोटोकॉल एडेप्टर त्रुटि

  3. Oracle SQL डेवलपर - गिराई गई तालिका को कैसे पुनर्प्राप्त करें

  4. AUTONOMOUS_TRANSACTION

  5. Oracle डेटा इंटीग्रेटर (ODI)