TXT SEPARADO POR VIRGULA E DATA INCREMENTADA

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
gmourag
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Sex, 22 Fev 2008 1:45 pm
Localização: Campinas - SP

Ola pessoal, estou mais algumas dúvidas. Com a ajuda de vocês eu consegui montar o script e agendar a tarefa de execução diária no windows.

Agora estou com dois problemas:

1- gerar o TXT separado por virgula ou outro caracter especial;
2- a cada ver que esse script for rodado incrementar o nome do arquivo para que o anterior não seja substituido. Exemplo: procedimento_diario (select sysdate from dual).txt Mas esse procedimento não é aceito pelo plus.

Selecionar tudo

set echo off
set verify off
set feedback off
ttitle off
set heading on
set linesize 550
set pages 0

spool c:\anestesia\procedimento_diario.txt

select * from vdic_anestesia_hmg where data_cirurgia = (select to_char(sysdate, 'DD/MM/YYYY') from dual);

Spool off

exit;
Novamente conto com a ajuda de vocês.

Abraços,
Augusto.
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?

Cara, esse teu script não poderia ser uma procedure?
Caso positivo, existem vários exemplos de UTL_FILE aqui no fórum.

Outra coisa, essa tua comparação, poderia ser feita da seguinte forma:

Selecionar tudo

...
select * from vdic_anestesia_hmg where data_cirurgia = trunc(SYSDATE);
...
gmourag
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Sex, 22 Fev 2008 1:45 pm
Localização: Campinas - SP

Boa tarde Trevisolli, muito obrgiado pela ajuda.

Meus conhecimentos são básicos com pl/sql. Creio que não conseguirei elaborar a proc.

Vou utilizar o trunc. Mas também já vou procurar na net pra saber como ele funciona...rs.

Abraços,
Augusto Moura.
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Opa, beleza?

No SQL*plus, você pode utilizar o comando

Selecionar tudo

set colsep ";"
para delimitar as colunas por ;

Para gravar a data no nome do arquivo spool, você pode fazer:

Selecionar tudo

col data noprint new_value data
select to_char(sysdate, 'yyyy-mm-dd_hh24-mi-ss') data from dual;
set ...
set ...
...
spool c:\arquivo&data..csv
...
...
gmourag
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Sex, 22 Fev 2008 1:45 pm
Localização: Campinas - SP

Ilustre Rafael, muito obrigado.

Funcionou direitim.

Abraços,
Augusto Moura.
Responder
  • Informação
  • Quem está online

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