UTL-FILE - Verificar se arquivo.txt esta vazio ou há dados

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP

Pessoal,

Preciso ler e verificar se há registros em dois arquivos .txt:
ARQ_ENTRADA_1.txt
ARQ_ENTRADA_2.txt

Antes de iniciar os procedimentos, é necessario verificar se possui dados nos dois arquivos(ARQ_ENTRADA_1 e ARQ_ENTRADA_2).

Para ler e verificar apenas um arquivo ... fiz algumas jogadas no EXCEPTION.

O problema agora é que tenho que verificar os dois arquivos.

Estou procurando se há algum procedimento pra ler e verificar os dois arquivos .txt.

Se alguém souber ... também estarei procurando.

Abração
ruevers
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 324
Registrado em: Sex, 02 Jun 2006 1:48 pm
Localização: sp
Contato:

Ver se está vazio?
usa o FILE_LENGTH do UTL_FILE, se for 0 está fazi...
:shock:
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP

Muito obrigado ruevers, era isso mesmo que eu estava a procura

A sintaxe para a utilização do UTL_LENGTH:

Selecionar tudo

DECLARE
    ex    BOOLEAN;
    flen  NUMBER;
    bsize NUMBER; 
    VAR   NUMBER;

BEGIN
   UTL_FILE.FGETATTR('folder', 'nome_arquivo.txt', ex , bsize , flen);
   VAR := flen;
  
   DBMS_OUTPUT.PUT_LINE('FILE_LENGTH - QTDE DE LINHAS: ' || TO_CHAR(VAR));
 
END;
Julian Campagnoli
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 26 Fev 2008 11:33 am
Localização: MG e SP

OPS ... corrijam por favor !!! rsrsrsrs

Selecionar tudo

DECLARE 
    ex    BOOLEAN; 
    flen  NUMBER; 
    bsize NUMBER; 
    VAR   NUMBER; 

BEGIN 
   UTL_FILE.FGETATTR('folder', 'nome_arquivo.txt', ex , bsize , flen); 
   VAR := bsize; 

   DBMS_OUTPUT.PUT_LINE('FILE_LENGTH - QTDE DE LINHAS: ' || TO_CHAR(VAR)); 
  
END;
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes