Advertisement
Guest User

Untitled

a guest
Aug 31st, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. CREATE TABLE emp (
  2. empname text,
  3. salary integer,
  4. last_date timestamp,
  5. last_user text
  6. );
  7.  
  8. CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
  9. BEGIN
  10. -- Check that empname and salary are given
  11. IF NEW.empname IS NULL THEN
  12. RAISE EXCEPTION 'empname cannot be null';
  13. END IF;
  14. IF NEW.salary IS NULL THEN
  15. RAISE EXCEPTION '% cannot have null salary', NEW.empname;
  16. END IF;
  17.  
  18. -- Who works for us when she must pay for it?
  19. IF NEW.salary < 0 THEN
  20. RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
  21. END IF;
  22.  
  23. -- Remember who changed the payroll when
  24. NEW.last_date := current_timestamp;
  25. NEW.last_user := current_user;
  26. RETURN NEW;
  27. END;
  28. $emp_stamp$ LANGUAGE plpgsql;
  29.  
  30. CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
  31. FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement