Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/03/2011, 11:31
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Duda de PL/SQL

Pues es largo pero básicamente es algo así:
Código SQL:
Ver original
  1. IF NVL(:NEW.last_name,0) <> NVL(:OLD.last_name,0) THEN
  2.  
  3.        v_act_record := v_act_record +1;
  4.        V_CHANGE := 1;
  5.  
  6.     INSERT INTO audit
  7.   (audit_num,
  8.   attribute_name,
  9.   old_value,
  10.   new_value,
  11.   date_time)
  12.   VALUES
  13.   (v_act_record,
  14.   'last_name',
  15.   :OLD.last_name,
  16.   :NEW.last_name,
  17.   SYSDATE);
  18.  
  19.     END IF;

Repetido unas 30 veces o más... pensaba usar un loop o algo similar para que el agregar o quitar campos auditados fuera más sencillo...