DatabaseProgramming: 02 Auto close ticket trigger.sql

File 02 Auto close ticket trigger.sql, 515 bytes (added by 231139, 10 days ago)
Line 
1DROP TRIGGER IF EXISTS trg_auto_close_ticket ON public.crm_tickets;
2CREATE OR REPLACE FUNCTION public.trg_fn_manage_ticket_closed_at()
3RETURNS trigger
4LANGUAGE plpgsql
5AS $$
6BEGIN
7 IF NEW.status = 'closed' THEN
8 NEW.closed_at := COALESCE(NEW.closed_at, CURRENT_TIMESTAMP);
9 ELSE
10 NEW.closed_at := NULL;
11 END IF;
12 RETURN NEW;
13END;
14$$;
15
16CREATE TRIGGER trg_auto_close_ticket
17BEFORE INSERT OR UPDATE ON public.crm_tickets
18FOR EACH ROW
19EXECUTE FUNCTION public.trg_fn_manage_ticket_closed_at();