Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE tbl_employees (
- id serial NOT NULL,
- first_name character varying NOT NULL,
- last_name character varying NOT NULL
- )
- CREATE TABLE tbl_employees (
- id serial NOT NULL,
- employee_id NOT NULL,
- first_name character varying NOT NULL,
- last_name character varying NOT NULL,
- changed_on timestamp NOT NULL
- )
- CREATE OR REPLACE FUNCTION log_employee_changes() RETURNS trigger as
- $BODY$
- BEGIN
- IF (NEW.last_name <> OLD.last_name) or (NEW.first_name <> OLD.first_name) THEN
- INSERT INTO tbl_employee_history(employee_id,last_name, first_name,changed_on)
- VALUES(OLD.id,OLD.last_name, OLD.first_name,now());
- END IF;
- RETURN NEW;
- END;
- $BODY$
- LANGUAGE plpgsql;
- CREATE TRIGGER add_log
- BEFORE UPDATE ON tbl_employees
- FOR EACH ROW
- EXECUTE PROCEDURE log_employee_changes();
- CREATE OR REPLACE FUNCTION log_employee_changes() RETURNS trigger as
- $BODY$
- BEGIN
- IF ?????there is one change on whatever column????? THEN
- INSERT INTO tbl_employee_history(employee_id,last_name, first_name,changed_on)
- VALUES(OLD.id,OLD.last_name, OLD.first_name,now());
- END IF;
- RETURN NEW;
- END;
- $BODY$
- LANGUAGE plpgsql;
- if new <> old then ...
- if new is distinct from old then ...
- CREATE OR REPLACE FUNCTION log_employee_changes() RETURNS trigger as
- $BODY$
- BEGIN
- IF OLD!=NEW THEN
- INSERT INTO tbl_employee_history(employee_id,last_name, first_name,changed_on)
- VALUES(OLD.id,OLD.last_name, OLD.first_name,now());
- END IF;
- RETURN NEW;
- END;
- $BODY$
- LANGUAGE plpgsql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement