sql >> Database >  >> RDS >> Oracle

Gegevens exporteren naar CSV-bestand in Oracle met behulp van PL SQL Procedure

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 directory
CREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp'
/
-- voor Unix/Linux-systemen maak je het volgende aan
CREATE 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
  1. Hoe worden datums opgeslagen in Oracle?

  2. Inspecteer de besturingsbron van alle besturingselementen in uw MS Access-project

  3. Hoe phpMyAdmin te installeren

  4. Welk type tijdstempel moet ik kiezen in een PostgreSQL-database?