ak dejo mi trigger
Código PHP:
reate or replace function log_productos()
returns trigger
as
$_$
declare
nombre varchar(30);
estado varchar(30);
begin
if(TG_OP = 'INSERT') then
nombre=new.x_nombre_p;
insert into bitacora ( kn_id_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_descripcion)
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin', 'Productos','Inserta',CURRENT_TIME ,current_date,'Se Inserto nuevo producto: ' ||nombre);
end if;
if(TG_OP='DELETE')then
insert into bitacora ( kn_id_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_descripcion)
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin', 'Productos','Elimina',CURRENT_TIME ,current_date,'Se Elimino producto: ' ||old.x_nombre_p);
end if;
if(TG_OP='UPDATE')then
nombre=old.x_nombre_p;
estado= new.x_estado_p;
if(estado = 'Eliminado')then
insert into bitacora ( kn_id_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_descripcion)
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin', 'Productos','Elimina',CURRENT_TIME ,current_date,'Se Elimino Producto: '||nombre);
end if;
if(estado = 'Libre')then
insert into bitacora ( kn_id_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_descripcion)
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin', 'Productos','Actualiza',CURRENT_TIME ,current_date,'Se Actualizo Producto: '||nombre);
end if;
end if;
return null;
end;
$_$ language 'plpgsql';