2015-09-23 2 views
0

Je veux écrire trigger sur Oracle Application (ERP) l'une des tables de base vitales wf_notifications, à partir de ce déclencheur, j'appellerai un programme concurrent Java en utilisant fnd_request.submit_request, toutes mes opérations que je vais faire dans ce Java fichier de classe utilisé dans le programme concurrent. les autres opérations affecteront-elles si le programme concurrent échoue? De l'autre côté, Oracle recommande de ne pas écrire des triggers sur les tables de base OracleDéclenchement sur table de base oracle recommandé? Application Oracle

Répondre

0

Si vous placez un trigger sur une table et que le trigger déclenche une exception, votre instruction DML (insert, update, delete) échouera avec cette exception.

Vous pouvez placer un gestionnaire catch d'exception dans le trigger pour vous assurer que votre DML continue à fonctionner même si le trigger échoue, mais vous ne pouvez jamais exclure qu'il y ait un problème avec la fonction déclenchée.

Donc ce serait quelque chose le long de ces lignes:

create or replace trigger mytrigger 
    before insert or update or delete 
    on mytable 
    for each row 
declare 

begin 
    fnd_request.submit_request; 
exception 
    -- Hide whatever error this trigger throws at us. 
    when others then null; 
end mytrigger; 

En outre, le déclencheur pourrait ralentir vos insertions de table et mises à jour en raison du travail supplémentaire effectué.