create table dept_log(
  id serial primary key,
  oldname text,
  newname text,
  change_on timestamp
)
create or replace function dept_trigger_func()
returns TRIGGER
LANGUAGE plpgsql
as 
$$
DECLARE


BEGIN
  if new.dname != old.dname THEN
    insert into dept_log(oldname, newname,change_on) 
    values(old.dname, new.dname,now());
    
    return null;
  end if;
END
$$;
create or replace trigger update_dept_trigger
before update
on dept 
for each ROW
execute PROCEDURE dept_trigger_func();
update dept set dname = '123' where deptno = 40;

更多推荐