2009-08-18 6 views
14

J'ai une table avec des colonnes précalculées dénormalisées qui sont gérées par un trigger. Les données sont parfois corrompues et le processus échoue mais dans ces cas, il suffit d'ignorer les exceptions et de continuer car il n'est pas important d'intercepter l'erreur.Ignorer une exception dans le déclencheur Oracle

Comment puis-je écrire la clause d'exception pour continuer sans déclencher d'erreur lorsqu'une exception se produit?

J'ai essayé juste de quitter la clause vide:

... 
EXCEPTION 
    WHEN OTHERS THEN 


end test_trigger; 

mais il ne compile pas.

Qu'est-ce qui me manque? il y a une clause de «laissez-passer» que je devrais inclure?

+8

"QUAND LES AUTRES PUIS {ne rien faire}" est une très mauvaise idée. Toute erreur peut survenir (y compris certaines erreurs que vous pourriez vouloir savoir) et vous ne le saurez jamais. Vous pouvez aussi gagner du temps et ne pas avoir les colonnes precalc du tout. Vous devriez déterminer quels types d'exceptions peuvent survenir dans le cours normal du travail et les gérer explicitement. –

Répondre

27
... 
EXCEPTION 
    WHEN OTHERS THEN 
     NULL; 

end test_trigger; 
Questions connexes