Nedenfor er trin for trin eksemplet givet for at eksportere data til CSV-fil i Oracle ved hjælp af PL SQL-procedure. I dette eksempel eksporteres data fra nogle felter i Emp table of Scott-skema til en CSV-fil ved hjælp af UTL_FILE Oracle-pakke. Følg nedenstående trin for at eksportere data fra Oracle-databasetabellen til en CSV-fil. 1. Opret et biblioteksobjekt, hvor du vil skrive CSV-fil.
-- For Windows-systemer, opret som følgende, skift mappen, der er fremhævet med din mappeCREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp'
/
-- for Unix/Linux-systemer skal du oprette som følgendeCREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/'
/
Bemærk:Skift mappeplacering til din mappeplacering, f.eks. c:\abc eller /abc/. 2. Opret en databaseprocedure i Scott-skema, eller hvis du opretter i et andet skema, så sørg for, at du har Emp-tabellen i det skema, ellers skal du ændre markøren og feltreferencerne for enhver anden tabel.
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. Kør nu proceduren som følger:
BEGIN
export_to_csv;
END;
Du kan nu kontrollere dit bibliotek, du har angivet i kommandoen Create Directory, som filen empdata.csv skal eksistere med tabeldataene. Jeg har oprettet et hjælpeprogram, som genererer proceduren online prøv det: - Generer PL/SQL-procedure online for at eksportere data fra en tabel