1. Buat Objek Direktori tempat Anda akan menulis file CSV.
-- untuk sistem windows buat sebagai berikut, ubah folder yang disorot dengan direktori AndaCREATE 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