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

Cara Mengekspor Data ke File CSV di Oracle Menggunakan Prosedur PL SQL

Di bawah ini adalah contoh langkah demi langkah yang diberikan untuk mengekspor data ke file CSV di Oracle menggunakan prosedur PL SQL. Dalam contoh ini, data sedang diekspor dari beberapa bidang Tabel Emp dari skema Scott ke file CSV menggunakan paket Oracle UTL_FILE. Ikuti langkah-langkah di bawah ini untuk mengekspor data dari tabel Database Oracle ke file CSV.

1. Buat Objek Direktori tempat Anda akan menulis file CSV.

-- untuk sistem windows buat sebagai berikut, ubah folder yang disorot dengan direktori Anda
CREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp'
/
-- untuk sistem Unix/Linux buat sebagai berikut
CREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/'
/
Catatan:Ubah lokasi folder ke lokasi direktori Anda, mis., c:\abc atau /abc/.

2. Buat Prosedur Basis Data dalam skema Scott atau jika Anda membuat dalam skema lain, pastikan Anda memiliki tabel Emp dalam skema itu, jika tidak, Anda perlu mengubah kursor dan referensi bidang untuk tabel lainnya.

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. Sekarang jalankan prosedur sebagai berikut:

BEGIN
   export_to_csv;
END;
Anda sekarang dapat memeriksa direktori yang Anda tentukan dalam perintah Buat Direktori bahwa file empdata.csv harus ada dengan tabel data. Saya telah membuat utilitas yang menghasilkan prosedur online, coba:
  • Buat Prosedur PL/SQL Online untuk Mengekspor Data Dari Tabel

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RPAD() Fungsi di Oracle

  2. Penyedia Oracle untuk Oledb hilang di VS 2015 Shell

  3. Bagaimana cara menyembuhkan penyebab pengecualian Hibernate IllegalArgumentException terjadi saat memanggil setter?

  4. Klausa WHERE bersyarat dengan pernyataan CASE di Oracle

  5. cara untuk menghindari tabel temp global di Oracle