Tengu una tabla de relacion en la cual tambien manejo la cantida de items relacionados, hice un trigger para que cuando hago un insert y la relacion ya existe haga un incremento en la cantidad, pero necesito que si aun no existe realice el insert, lo cual no logro hacerlo, les dejo el codigo del trigger, espero me puedan ayudar
Código:
CREATE TRIGGER "before_insert_lista_casamiento_productos" BEFORE INSERT
ON "public"."lista_casamiento_productos" FOR EACH ROW
EXECUTE PROCEDURE "public"."before_insert_lcp"();
Código:
CREATE OR REPLACE FUNCTION "public"."before_insert_lcp" () RETURNS TRIGGER AS
$body$
DECLARE
rListaProducto RECORD;
BEGIN
SELECT * INTO rListaProducto
FROM lista_casamiento_productos
WHERE fk_id_lista_casamiento = new.fk_id_lista_casamiento
AND fk_id_producto = new.fk_id_producto;
IF rListaProducto IS NOT NULL THEN
UPDATE lista_casamiento_productos SET cantidad = cantidad + 1
WHERE fk_id_lista_casamiento = rListaProducto.fk_id_lista_casamiento
AND fk_id_producto = rListaProducto.fk_id_producto;
RETURN NULL;
else
RETURN NEW;
/*INSERT INTO lista_casamiento_productos (fk_id_lista_casamiento,fk_id_producto)
VALUES (new.fk_id_lista_casamiento, new.fk_id_producto);*/
END IF;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;