Já até fixei os valores para fazer o teste. Muito estranho... -----Mensagem original----- De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de francisco porfirio Enviada em: 21 de agosto de 2009 10:17 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Duvida Exception
Rapaz, aparentemente está ok. Faz o seguinte, coloca um dbms_output.put_line antes do update e verifica se os valores passados no update realmente não encontram nenhum registro a ser alterado. 2009/8/21 Sharif - Yahoo <sharif_rad...@yahoo.com.br> > > > Pessoal, > > Tenho esse trecho dessa procedure abaixo onde é feito um update e se não > encontrar tem que fazer o insert, porem não está entrando na Exception > NO_DATA_FOUND, o que pode estar errado ? Não pode ser feito dessa forma ? > > Oracle 10.2 > > Aix > > BEGIN > > DECLARE CURSOR LIVRAODEV IS > > SELECT ENT_NOTA.CODFIL , ENT_NOTA.DTNOTA , > SUM(NVL(ENT_NOTA.VLTOTAL,0)) DEVOLUCAO > > FROM CAD_FILIAL, > > ENT_NOTA, > > CAD_TPNOTA > > WHERE CAD_TPNOTA.TPNOTA = ENT_NOTA.TPNOTA > > AND CAD_FILIAL.CODFIL = ENT_NOTA.CODFIL > > AND CAD_TPNOTA.FLPGCOMS = 'S' > > AND CAD_TPNOTA.TIPO = 'E' > > AND CAD_TPNOTA.FLVENDA = 'S' > > AND CAD_TPNOTA.TPREM = 'C' > > AND CAD_TPNOTA.TPDEST IN ('L','D','G') > > AND CAD_TPNOTA.TPVER IS NOT NULL > > AND ENT_NOTA.DTNOTA BETWEEN to_date(p_dataini, > 'dd/mm/rrrr') AND to_date(p_datafim, 'dd/mm/rrrr') > > GROUP BY ENT_NOTA.CODFIL , ENT_NOTA.DTNOTA > > ORDER BY ENT_NOTA.CODFIL,ENT_NOTA.DTNOTA; > > BEGIN > > FOR REGDEV IN LIVRAODEV LOOP > > BEGIN > > UPDATE TMP_LIVRAO SET VLDEVOL = REGDEV.DEVOLUCAO > > WHERE CODFIL = REGDEV.CODFIL > > AND DTNOTA = REGDEV.DTNOTA; > > EXCEPTION > > WHEN NO_DATA_FOUND THEN > > INSERT INTO TMP_LIVRAO(CODFIL, DTNOTA, > VLDEVOL) > > VALUES (REGDEV.CODFIL, REGDEV.DTNOTA, > REGDEV.DEVOLUCAO); > > END; > > END LOOP; > > END; > > END; > > Obrigado pela ajuda, > > Abraços, > > Sharif > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Atenciosamente Francisco Porfirio Ribeiro Neto [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ ---------------------------------------------------------------------------- ---------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ ---------------------------------------------------------------------------- ---------------------------------------------- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ ---------------------------------------------------------------------------- -------------------------------------------- Links do Yahoo! Grupos