Bonjour
J'ai un trigger très simple : je veux interdite l'insertion dans certains cas .
Comme le ROLLBACK, COMMIT est interdit dans le trigger, j'utilise raise_application_error. Mias je ne veux voir que mon message et non les autres
exemple de sortie : je veux seulement ORA-20100 et pas les autres
ERREUR à la ligne 1 :
ORA-20100: Insertion ou mise à jour interdite
ORA-06512: à "SYS.FGIT1", ligne 17
ORA-04088: erreur lors d'exécution du déclencheur 'SYS.FGIT1'
Comment ne pas afficher ORA-06512 et ORA-04088 (qui donne le nom du trigger, ce que je veux pas) ?
CREATE OR REPLACE TRIGGER fgit1
AFTER INSERT ON ulis.fgi FOR EACH ROW
declare
retour NUMBER;
INTERDIT EXCEPTION;
AUTORISE EXCEPTION;
BEGIN
dbms_output.put_line('code= '|| :new.code);
dbms_output.put_line('libelle= '|| :new.libelle);
IF INSERTING THEN
dbms_output.put_line('INSERTION');
IF (:new.code = :new.libelle) THEN
dbms_output.put_line('***********************INSERTION INTERDITE');
raise_application_error (-20100,'Insertion ou mise à jour interdite',FALSE);
ELSE
dbms_output.put_line('\n******************* AUTORISE *********************');
END IF;
END IF;
END;
/
Merci
F Lafont