Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle UTL_FILE membaca baris file CSV

Berikut adalah contoh yang menunjukkan cara melakukannya. Kode saya sedikit berbeda dari kode Anda karena direktori dan nama file yang berbeda.

Contoh tabel, yang akan berisi data yang disimpan dalam file:

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

Table created.

Kode; bagian yang menarik adalah baris 14 dan cara membagi seluruh baris menjadi nilai terpisah:

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.

Hasilnya:

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. Fungsi TO_CHAR(datetime) di Oracle

  2. Oracle:Cara menghitung baris null dan non-null

  3. Cara Mengonfigurasi Penyorotan Sintaks di SQLcl

  4. Mengkonfigurasi koneksi antara klien dan server Oracle 10g

  5. 50 Nuansa Ujian Sertifikasi Database Oracle