Alguém poderia me dar uma ajudinha .....
É o seguinte, tenho a procedure abaixo, porém como faço para atualizar os 
registros que vierem no SELECT e que ja existe na tabela VIAGEM ??

Gostaria de saber como faço algo do tipo:
[          Found VIAGEM ] Update .......
[   Not Found VIAGEM ] Insert ........

+- isso .. rs rs, claro que não com os comandos assim, apenas essa idéia.
Eu precisaria fazer 1° o Select e abrir um cursor e dentro dele verificar se 
existe o registro na tabela viagem ?
Existindo executo um comando de update e não existindo um de insert ?

Ou teria uma forma mais pratica e até mesmo com menos volta ?

Valeu
Adalberto.
create or replace procedure proc_viagem (vs_datai String, vs_dataf String)
as
begin
           insert into VIAGEM ( CD_EMPRESA,
                                               CD_FILIAL,
                                               CD_FILVIA,
                                               NR_VIAGEM,
                                               DT_EMISSAO,
                                               CD_FROTA,
                                               CD_CARRETA,
                                               CD_MOTORISTA,
                                               CD_FROTISTA,
                                               CD_TPOPERACAO,
                                               CD_TPVIAGEM,
                                               QT_NF,
                                               FL_SITUACAO,
                                               DT_CADASTRO 
                                               )
                                               (      select 1,
                                                                 1,
                                                                 viagem.codfil,
                                                                 viagem.numero,
                                                                 viagem.dtemis,
                                                                 viagem.codcav,
                                                                 viagem.codcar,
                                                                 viagem.codmot,
                                                                 viagem.codfro,
                                                                 viagem.tpoper,
                                                                 viagem.tpviag,
                                                                 viagem.qtdnfs,
                                                                 viagem.situac,
                                                                 sysdate 
                                                         from logistic.afa037 
viagem
                                                       where viagem.dtemis 
between vs_datai and vs_dataf
                                               );
           commit;

           exception
           when others then
           rollback;
end;


[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a