exp(url:https://www.postgresqltutorial.com/postgresql-triggers/creating-first-trigger-postgresql/)
CREATE TABLE employee
(emp_id int4,
employee_name varchar(25),
department_id int4,
salary numeric(7,2));
CREATE TABLE emp_salary_history
emp_id int,,
employee_name varchar(25),
salary numeric(7,2)
Changed_on timestamp(6));
CREATE OR REPLACE FUNCTION public.insert_into_salary_history()
RETURNS TRIGGER
LANGUAGE plpgsql
AS
$BODY$
BEGIN
INSERT INTO emp_salary_history(emp_id, employee_name, salary, changed_on)
values (OLD.emp_id, OLD.employee_name, OLD.salary, now());
return new;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
CREATE TRIGGER emp_history_trigger
BEFORE UPDATE OF salary
ON employee FOR EACH ROW
EXECUTE PROCEDURE insert_into_salary_history();
CREATE [OR REPLACE ] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF} {event [OR ...]}
ON table_name
[FOR [EACH] {ROW | STATEMENT}]
EXECUTE PROCEDURE trigger_function;