Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION do_something()
  2. RETURNS TRIGGER AS $$
  3. DECLARE
  4. engagement record;
  5. BEGIN
  6. SELECT code
  7. INTO engagement
  8. FROM "mainEngagement" me
  9. WHERE me.value = NEW.id;
  10.  
  11. IF TG_OP = 'INSERT'
  12. THEN
  13. INSERT INTO engagement_details (code)
  14. values (
  15. case
  16. when engagement is not null
  17. then exists(select code from engagement where "value" = 'expected')
  18. else false
  19. end
  20. );
  21. ELSE
  22. UPDATE engagement_details
  23. SET
  24. code = case
  25. when engagement is not null
  26. then exists(select 1 from engagement where "value" = 'expected')
  27. else false
  28. end
  29. WHERE engagement_details.assessment_id = NEW.id;
  30. END IF;
  31.  
  32. RAISE NOTICE 'Updated engagement_details: [%]', NEW;
  33. RETURN NEW;
  34. END;
  35. $$ LANGUAGE plpgsql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement