A trigger that checks the deadline for all products in the table

0

Good afternoon to everyone in the community. I'm trying to make a trigger that checks products that have their expiration date and change their status in the table using postgresql

    
asked by anonymous 27.10.2018 / 14:10

1 answer

0

Create a trigger:

-- Function: public.produto_vencido()

-- DROP FUNCTION public.produto_vencido();

CREATE OR REPLACE FUNCTION public.produto_vencido()
  RETURNS trigger AS
$BODY$
BEGIN
 UPDATE public.produto SET ativo = FALSE WHERE validade < NOW()::DATE;
 RETURN 1;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.produto_vencido()
  OWNER TO postgres;

Add the trigger to the table:

-- Trigger: validade on public.produto

-- DROP TRIGGER validade ON public.produto;

CREATE TRIGGER validade
  BEFORE UPDATE OF nome, validade, id_produto
  ON public.produto
  FOR EACH ROW
  EXECUTE PROCEDURE public.produto_vencido();
    
27.10.2018 / 15:55