Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/06/2008, 09:52
Angubas
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Como crear un Trigger que guarde el Sql.

Hola jc3000, este es el Trigger que captura el SQL, pero cuando se hace una transacción en la tabla a Auditar, me esta guardando el antepenúltimo SQL, Ejem: Si hago un Insert y luego un Update me guarda el Insert, posteriormente hago un select y me guarda el Update. Lo he cambiado al derecho y al revés, y nada, no encuentro la forma.

Muchísimas gracias de antemano por tu atención.


DECLARE
SQ VARCHAR(255);
FC VARCHAR(255);
BEGIN
select distinct
vs.sql_text,
to_char(to_date(vs.first_load_time,'YYYY-MM-DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time into SQ,FC
from
v$sqlarea vs,
all_users au
where (parsing_user_id != 0)
and (au.user_id(+)=vs.parsing_user_id)
and au.username=user
and first_load_time=(select max(first_load_time)
from v$sqlarea vs ,all_users au
where (parsing_user_id != 0)
and (au.user_id(+)=vs.parsing_user_id)
and au.username=user
and (executions >= 1))
and (executions >= 1)
and rownum = 1
order by first_load_time desc;
INSERT INTO AUD_PAGO
VALUES
(SQ,USER,SYSDATE,USERENV('TERMINAL'));
END;