Advertisement
Maks140888

Untitled

Jun 6th, 2022
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. create table note_book (
  2.     old_job varchar(100),
  3.     new_job varchar(100),
  4.     set_job_time timestamp
  5. );
  6.  
  7. CREATE OR REPLACE FUNCTION process_set_job() RETURNS TRIGGER AS $new_emp$
  8.     BEGIN
  9.         if(TG_OP = 'UPDATE') THEN
  10.             INSERT INTO note_book(old_job, new_job, set_job_time)  VALUES(OLD.job, NEW.job, now());
  11.         ELSIF (TG_OP = 'DELETE') THEN
  12.             INSERT INTO note_book(old_job, new_job, set_job_time) VALUES(OlD.job, 'fired', now());
  13.         ELSIF (TG_OP = 'INSERT') THEN
  14.             INSERT INTO note_book(old_job, new_job, set_job_time) VALUES('accepted', NEW.job, now());
  15.         END IF;
  16.         RETURN NULL;
  17.     END;
  18. $new_emp$ LANGUAGE plpgsql;
  19.  
  20. CREATE TRIGGER chek_set_job
  21. AFTER INSERT OR UPDATE OR DELETE ON new_emp
  22.     FOR EACH ROW EXECUTE FUNCTION process_set_job();
  23.  
  24. DELETE from new_emp where empno = 0;
  25.  
  26. INSERT INTO new_Emp VALUES (0,'BRIAN MOORE','JUNIOR DEVELOPER',null,TO_DATE('2017-07-10', 'YYYY-MM-DD'),7040,null,78);
  27.  
  28.  
  29.  
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement