 
			
				24/05/2012, 14:42
			
			
			     |  
      |    |    |    Fecha de Ingreso: mayo-2012  
						Mensajes: 1
					  Antigüedad: 13 años, 5 meses Puntos: 0     |        |  
  |      trigger para auditoria        Estimados.   
Tengo un problema y espero que puedan damre alguna solucion ya que no he podido encontrar ninguna, tengo 2 trigger en un proyecto el cual los ocupo para auditoria de tablas, los cuales obviamente despues de un insert o update o delete se ejecutan el problemas es que los tengo exo de distinta forma uno con este tipo de if   
if :new.columna <> :old.columa then   
insert into auditoria(id,nombreTabla,nombreColumna,valorAntigu  o,ValorNuevo,fecha);   
end if;   
y otro if de esta forma   
if updating('columna') then   
insert into auditoria(id,nombreTabla,nombreColumna,valorAntigu  o,ValorNuevo,fecha);   
end if;   
el problema es que haciendo el trigger con el primer if, me inserta 2 filas cuando la cantidad de columnas alteradas son 5, y en el otro cuando altero 5 columnas se insertan las 5 pero independientemente si tienen dato o no   
mi consulta es porque en el primer if no insertaria todas las columnas si he visto ejemplos de ese mismo ejercicio pero no funciona como debe.   
espero alguna respuesta porfa   
a y tambien otra pregunta, porque no en oracle no funciona el inserting? ya que tengo un if que dice esto   
if inserting then   
     if :new.columna <> :old.columna then   
     insert into auditoria(id,nombreTabla,nombreColumna,valorAntigu  o,ValorNuevo,fecha);   
     end if; 
end if;   
y cuando se ejecuta un insert en la tabla no me inserta nada   
el trigger tiene esto en el encabezado   
CREATE OR REPLACE TRIGGER auditoria 
BEFORE DELETE OR INSERT OR UPDATE 
ON tabla  
REFERENCING NEW AS NEW OLD AS OLD 
FOR EACH ROW   
espero ojala puedan ayudarme           |