1. Crie um objeto de diretório no qual você escreverá o arquivo CSV.
-- para sistemas Windows, crie da seguinte forma, altere a pasta destacada com seu diretórioCREATE OR REPLACE DIRECTORY CSVDIR AS 'd:\temp' /-- para sistemas Unix/Linux, crie da seguinte forma
CREATE OR REPLACE DIRECTORY CSVDIR AS '/temp/' /Observação:altere o local da pasta para o local do diretório, por exemplo, c:\abc ou /abc/.
2. Crie um procedimento de banco de dados no esquema Scott ou, se estiver criando em outro esquema, certifique-se de ter a tabela Emp nesse esquema, caso contrário, será necessário alterar o cursor e as referências de campo para qualquer outra tabela.
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. Agora execute o procedimento da seguinte forma:
BEGIN export_to_csv; END;Agora você pode verificar seu diretório especificado no comando Criar diretório que o arquivo empdata.csv deve existir com os dados da tabela. Criei um utilitário que gera o procedimento online, experimente:
- Gerar procedimento PL/SQL online para exportar dados de uma tabela
-
Tutoriais de banco de dados do SQL Server ( MSSQL DBA ) para administradores de banco de dados iniciantes
-
Gerenciando alta disponibilidade no PostgreSQL – Parte II:Gerenciador de replicação
-
Melhores abordagens para totais de corrida agrupados
-
Use mycli e aprenda MariaDB/MySQL confortavelmente em um terminal!