Bueno señores... vengo aqui solicitando ayuda con este mi trigger chuquino:
la cosa es que estoy creando un trigger que se ejecutara en mi base de datos cada vez que cualqueir usuario haga LOGON independientemente de la aplicacion conque lo haga... el caso es que cuando eso suceda necesito enviar un mensaje.. de esos asi tipo "HOLA MUNDO".. y luego que deje conectarse a la DB. Mi problema en concreto es que utilizo en PL el maldito
raise_application_error para tales fines.. pero el p3nd3j0.. me aborta la conexion y con ello nadie puede entrar a la DB...
Pregunta: Alguien sabe como mandar mensajes desde un TRIGGERS.. sin que aborte el proceso?
este es mi codigo:
CREATE OR REPLACE TRIGGER DBA_Alert
AFTER LOGON ON DATABASE
DECLARE
v_dias integer;
v_prog varchar2(100);
v_session integer;
BEGIN
SELECT sys_context('USERENV','SESSIONID')
INTO v_session
FROM dual;
SELECT module
INTO v_prog
FROM v$session
WHERE audsid = v_session;
-- codigo borrado
IF UPPER(v_prog) LIKE '%TOAD%' and v_dias>20 THEN
RAISE_APPLICATION_ERROR(-20000, 'Han pasado '|| to_char(v_dias) || ' mensaje privado' );
END IF;
END;
ojala exista algun valiente...
