A continuación se muestra el ejemplo paso a paso para exportar datos a un archivo CSV en Oracle utilizando el procedimiento PL SQL. En este ejemplo, los datos se exportan desde algunos campos de la tabla Emp del esquema Scott a un archivo CSV utilizando el paquete de Oracle UTL_FILE. Siga los pasos a continuación para exportar datos de la tabla de Oracle Database a un archivo CSV. 1. Cree un objeto de directorio en el que escribirá un archivo CSV.
-- para sistemas Windows, cree lo siguiente, cambie la carpeta resaltada con su directorio CREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp'
/
-- para sistemas Unix/Linux, cree de la siguiente maneraCREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/'
/
Nota:Cambie la ubicación de la carpeta a la ubicación de su directorio, por ejemplo, c:\abc o /abc/. 2. Cree un procedimiento de base de datos en el esquema de Scott o, si está creando en otro esquema, asegúrese de tener la tabla Emp en ese esquema; de lo contrario, deberá cambiar el cursor y las referencias de campo para cualquier otra tabla.
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. Ahora ejecute el procedimiento de la siguiente manera:
BEGIN
export_to_csv;
END;
Ahora puede verificar su directorio que especificó en el comando Crear directorio que el archivo empdata.csv debe existir con los datos de la tabla. He creado una utilidad que genera el trámite online pruébalo: - Generar procedimiento PL/SQL en línea para exportar datos de una tabla
