Voce terá que tratar o Exception em cada uma das operações. Se der erro em uma 
delas a rotina poderá continuar.  E se você quer desfazer as 2 primeiras caso a 
ultima der Exception, então faça o commit apenas no final da terceira. Se der 
algum erro, você faz um roolback e desfaz tudo.

 

Espero ter ajudado,

Att,
Marlon

 

 

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome 
de Jales Jose Moraes
Enviada em: terça-feira, 19 de novembro de 2013 14:23
Para: grupo_oracle
Assunto: [oracle_br] dúvida em pl

 

  

Estou com uma dúvida na elaboração de uma Procedure.

A estrutura será mais ou menos a descrita a baixo. Minha dúvida está 
relacionada aos blocos de EXCEPTIONS em PL.

   FOR opc IN c_lista_opcao
   LOOP
     

BEGIN

         — 1) excluir PC

         — 2) excluir Liberacao

         — 3) excluir OPC

      EXCEPTION END;


   END LOOP c_lista_opcao;

No trecho destacado em vermelho, existem três operações que precisam ser 
realizadas. Minha intenção é fazer com que o processo continue mesmo que ocorra 
alguma exceção no laço atual. Outra dúvida, é saber se, caso ocorra algum erro 
na terceira instrução, as 2 anteriores serão desfeitas.

Gostaria de uma ajuda no entendimento.



Responder a