Adalberto, Eu tenho o hábito de dar um select count(*) na tabela para ver se existe o registro, se retornar 1 você dá update, se retornar 0 você dá insert. Não sei se há algum jeito mais pratico.
Fernanda Zeca ----- Original Message ----- From: "Adalberto Sousa Monteiro" <[EMAIL PROTECTED]> To: <oracle_br@yahoogrupos.com.br> Sent: Wednesday, February 15, 2006 11:25 AM Subject: [oracle_br] Se o registro existir UPDATE se não INSERT. 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 -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.0.375 / Virus Database: 267.15.7/259 - Release Date: 13/2/2006 _______________________________________________________ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -------------------------------------------------------------------------------------------------------------------------- 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