Trigger y excepciones
Hola,
tengo un problema, que os paso a comentar.
Necesito que cuando se inserte una fila en una tabla de mi BBDD Oracle con un determinado mensaje además de guardarse dicha fila debe saltar una excepción (necesaria para capturarla en otro programa). Si creo un trigger AFTER INSERT y lanzo una excepción, al intentar insertar el trigger lanza la excepción, la excepción hace rollback del trigger y de la transaccion que lanzó el tirgger (en este caso el insert del registro) y se borra dicho registros de la tabla.
He estado probando varias posibilidades, pero ninguna me funciona, me podeis ayudar, por favor????
Este es un ejemplo de los últimos que probé:
create or replace trigger TRI_A2_LOG_TABLE
before insert on Log_Table
for each row
WHEN (NEW.Message LIKE ‘Error when calling external entry_point’)
DECLARE
pragma autonomous_transaction;
my_exception exception;
BEGIN
DBMS_OUTPUT.put_line (‘INICIO EXCEPCION’); — por aquí entra
commit;
RAISE my_exception; — por aquí entra
commit;
DBMS_OUTPUT.put_line (‘FIN EXCEPCION’); — aquí no llega
commit;
EXCEPTION
WHEN my_exception THEN
raise_application_error(-20101, ‘Error de external entry point’);
commit;
END;
gracias de antemano!!!!