Interface Babel: 1) Maestro de empleados. Babel debe definir la estructura de la tabla que podria ser cia char(3), empleado varchar2(15), nombre varchar2(40), estado char(1) -Activo InACTIVO CREATE TABLE LOGEMPLEADO (FECHATS DATE, CIA CHAR(3), EMPLEADO VARCHAR2(15), TRANSACCION CHAR(1), --Update, Insert, Delete VALORES CHAR(1), --OLD, NEW Constraint LOGEMPLEADO_PK primary key (FECHATS, CIA, EMPLEADO) ); 2) Maestro de Articulos. Babel debe definir la estructura de la tabla que podria ser cia char(3), articulo varchar2(25), des_articulo varchar2(50), medida varchar2(5) CREATE TABLE LOGARTICULO (FECHATS DATE, CIA CHAR(3), ARTICULO VARCHAR2(25), TRANSACCION CHAR(1), --Update, Insert, Delete VALORES CHAR(1), --OLD, NEW Constraint LOGARTICULO_PK primary key (FECHATS, CIA, ARTICULO) ); 3) Machote de trigger drop trigger TGRArticulo; CREATE OR REPLACE TRIGGER TGRArticulo AFTER INSERT OR UPDATE OR DELETE ON Inv_Articulo FOR EACH ROW DECLARE FECHA DATE; BEGIN If Inserting Then insert into LOGArticulo (FECHATS, CIA, ARTICULO, TRANSACCION, VALORES) values (sysdate, :NEW.COD_CIA, :NEW.COD_ARTICULO, 'I', 'N'); elsif Updating then Fecha:=sysdate; insert into LOGArticulo (FECHATS, CIA, ARTICULO, TRANSACCION, VALORES) values (FECHA, :OLD.COD_CIA, :OLD.COD_ARTICULO, 'U', 'O'); if :old.cod_cia!=:new.cod_cia or :old.cod_articulo!=:new.cod_articulo then insert into LOGArticulo (FECHATS, CIA, ARTICULO, TRANSACCION, VALORES) values (FECHA, :NEW.COD_CIA, :NEW.COD_ARTICULO, 'U', 'N'); end if; elsif Deleting then insert into LOGArticulo (FECHATS, CIA, ARTICULO, TRANSACCION, VALORES) values (sysdate, :OLD.COD_CIA, :OLD.COD_ARTICULO, 'D', 'O'); end if; END; / drop trigger TGREmpleado; CREATE OR REPLACE TRIGGER TGREmpleado AFTER INSERT OR UPDATE OR DELETE ON PlaEmpleado FOR EACH ROW DECLARE FECHA DATE; BEGIN If Inserting Then insert into LOGEmpleado (FECHATS, CIA, EMPLEADO, TRANSACCION, VALORES) values (SYSDATE, :NEW.CIA, :NEW.EMPLEADO, 'I', 'N'); elsif Updating then Fecha:=sysdate; insert into LOGEmpleado (FECHATS, CIA, EMPLEADO, TRANSACCION, VALORES) values (FECHA, :OLD.CIA, :OLD.EMPLEADO, 'U', 'O'); if :old.cia!=:new.cia or :old.empleado!=:new.empleado then insert into LOGEmpleado (FECHATS, CIA, EMPLEADO, TRANSACCION, VALORES) values (FECHA, :NEW.CIA, :NEW.EMPLEADO, 'U', 'N'); end if; elsif Deleting then insert into LOGEmpleado (FECHATS, CIA, EMPLEADO, TRANSACCION, VALORES) values (SYSDATE, :OLD.CIA, :OLD.EMPLEADO, 'D', 'O'); end if; END; /