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


Responder a