0
Code
CREATE OR REPLACE PROCEDURE CRIARARQUIVOTXT AS
Arquivo_saida UTL_File.File_Type;
Dir_Arq VARCHAR2(60);
Cursor cur_arq is
Select f.NOME from tfuncionario f;
BEGIN
-- Diretorio do Arquivo
Dir_Arq := 'C:\Users\xxxxxx\Documents\testes';
-- Abrindo o arquivo para a gravação
Arquivo_saida := UTL_File.Fopen(Dir_Arq, 'teste.txt','w' );
-- Abrindo o cursor para realizar o loop das linhas que irão no arquivo
for Reg_Linha in cur_arq loop
UTL_File.Put_Line(Arquivo_Saida, Reg_Linha.linha);
end loop;
-- Fechando o arquivo
UTL_File.Fclose(Arquivo_Saida);
Dbms_Output.Put_Line('Arquivo gerado com sucesso.');
Exception
WHEN UTL_FILE.INVALID_OPERATION THEN
Dbms_Output.Put_Line('Operação inválida no arquivo.');
UTL_File.Fclose(arquivo_saida);
WHEN UTL_FILE.WRITE_ERROR THEN
Dbms_Output.Put_Line('Erro de gravação no arquivo.');
UTL_File.Fclose(arquivo_saida);
WHEN UTL_FILE.INVALID_PATH THEN
Dbms_Output.Put_Line('Diretório inválido.');
UTL_File.Fclose(arquivo_saida);
WHEN Others THEN
Dbms_Output.Put_Line('Problemas na gravação do arquivo.');
UTL_File.Fclose(arquivo_saida);
END CRIARARQUIVOTXT;
Error message
Select f.NAME Line from tfuncionario f; error is that "line" should be on cursor.
– Motta
How do I correct that ?
– alexjosesilva
fixed: Cursor cur_arq is Select f.NAME line from tfuncionario f ;
– alexjosesilva