Exportando dados para arquivo txt

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
Avatar do usuário
jessica.ff
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Seg, 11 Jun 2007 2:28 pm
Localização: Gravataí - RS
ninguém é tão sabio que não tenha a aprender, e nem tão ignorante que não tenha a ensinar.

E aí galera,

Bom eu vi varios tópicos sobre leitura de arquivo txt, mas não vi nenhum de escrita a minha duvida é a seguinte:
Eu tenho o fopen com os parametros da seguinte forma

Selecionar tudo

 UTL_FILE.FOPEN(vDIR, 'ARQ03.TXT','w')
Sei que o paramentro w= escrita.
Mas e se caso o ARQ03.txt não exista e eu precise cria-lo qual é o parametro correto que eu teria que utilizar?

Ah e mais uma coisa

Selecionar tudo

 UTL_FILE.PUT_LINE 
Irá escrever mas eu preciso escrever em determinadas posições. Ex:
Data começa na 1
Nome começa na 11
Como eu faço pra definir o posicionamento?

Valeu!!!!
Abraços
Jéssica
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Olá Jessica
Ai vai:
jessica.ff escreveu:Mas e se caso o ARQ03.txt não exista e eu precise cria-lo qual é o parametro correto que eu teria que utilizar?
Se você usou o modo W, ele vai sobrescrever o texto. Se ele não existe, será criado. Se já existe, será sobrescrito por cima.

Existe também o modo A, que significa APPEND. Nesse modo, ele vai adicionar o texto no fim do arquivo já existente. (vai manter o arquivo caso já exista)
jessica.ff escreveu: Ah e mais uma coisa UTL_FILE.PUT_LINE Irá escrever mas eu preciso escrever em determinadas posições. Ex:
Data começa na 1
Nome começa na 11
Como eu faço pra definir o posicionamento?
Pra isso, você precisa usar uma função tipo RPAD.
Veja abaixo:

Selecionar tudo

SQL> SELECT RPAD('THOMAS', 20, ' ')
  2       ||RPAD('TESTE' , 10, ' ') X
  3  FROM DUAL
  4  /

X
------------------------------
THOMAS              TESTE

SQL> 
Era isso ? :-o
Avatar do usuário
jessica.ff
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Seg, 11 Jun 2007 2:28 pm
Localização: Gravataí - RS
ninguém é tão sabio que não tenha a aprender, e nem tão ignorante que não tenha a ensinar.

Isso mesmo que eu precisava

valeu :mrgreen:

:-o
Responder
  • Informação
  • Quem está online

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