Hieronder wordt het stapsgewijze voorbeeld gegeven om gegevens naar een CSV-bestand in Oracle te exporteren met behulp van de PL SQL-procedure. In dit voorbeeld worden gegevens geëxporteerd uit sommige velden van Emp-tabel van Scott-schema naar een CSV-bestand met behulp van UTL_FILE Oracle-pakket. Volg de onderstaande stappen om gegevens uit de Oracle Database-tabel naar een CSV-bestand te exporteren. 1. Maak een Directory Object waarin u een CSV-bestand gaat schrijven.
-- maak voor Windows-systemen als volgt de map aan die is gemarkeerd met uw directoryCREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp'
/
-- voor Unix/Linux-systemen maak je het volgende aanCREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/'
/
Opmerking:Wijzig de maplocatie in uw maplocatie, bijvoorbeeld c:\abc of /abc/. 2. Maak een databaseprocedure in Scott-schema of als u in een ander schema maakt, zorg er dan voor dat u de Emp-tabel in dat schema heeft, anders moet u de cursor en de veldverwijzingen voor elke andere tabel wijzigen.
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. Voer nu de procedure als volgt uit:
BEGIN
export_to_csv;
END;
U kunt nu uw directory controleren die u hebt opgegeven in de opdracht Directory maken dat het bestand empdata.csv moet bestaan met de tabelgegevens. Ik heb een hulpprogramma gemaakt dat de procedure online genereert, probeer het: - Online PL/SQL-procedure genereren om gegevens uit een tabel te exporteren