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
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
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();