1. Skapa ett katalogobjekt där du ska skriva en CSV-fil.
-- För Windows-system skapa enligt följande, ändra mappen som är markerad med din katalogCREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp' /-- för Unix/Linux-system skapa enligt följande
CREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/' /Obs:Ändra mappplatsen till din katalogplats, t.ex. c:\abc eller /abc/.
2. Skapa en databasprocedur i Scott-schemat eller om du skapar i ett annat schema, se till att du har Emp-tabellen i det schemat, annars måste du ändra markören och fältreferenserna för alla andra tabeller.
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 enligt följande:
BEGIN export_to_csv; END;Du kan nu kontrollera din katalog som du angav i kommandot Skapa katalog som filen empdata.csv måste finnas med tabelldata. Jag har skapat ett verktyg som genererar proceduren online, prova det:
- Generera PL/SQL-procedur online för att exportera data från en tabell
Oracle-funktionsexempel för att få antal dagar mellan två datum
Läs och importera XLSX (Excel)-fil i Oracle
-
Kan inte binda argument vid index 2 eftersom indexet ligger utanför intervallet
-
Hur lägger man till en ny kolumn i en tabell efter den 2:a eller 3:e kolumnen i tabellen med postgres?
-
Ingen operator matchar det angivna namnet och argumenttyp(erna). Du kan behöva lägga till explicita casts. -- Netbeans, Postgresql 8.4 och Glassfish
-
Få en kolumn från .sqlite som innehåller flera tabeller med flera kolumner