если я вставлю более одной строки с одним и тем же cod_regista, это создаст дубликаты, как я могу их удалить? Мне нужна только одна запись для каждого значения
CREATE OR REPLACE TRIGGER piazzetta_trg
BEFORE INSERT OR UPDATE
ON regia_piazzetta
FOR EACH ROW
BEGIN
IF INSERTING THEN
FOR a IN(SELECT cod_regista, SUM(costo_produzione) as tot
FROM regia_piazzetta
GROUP BY cod_regista)
LOOP
INSERT INTO piazzetta_tot VALUES (a.cod_regista, a.tot);
END LOOP;
UPDATE piazzetta_tot SET costo_totale = costo_totale + :new.costo_produzione WHERE piazzetta_tot.id_regista = :new.cod_regista;
END IF;
IF UPDATING THEN
UPDATE piazzetta_tot SET costo_totale = costo_totale+(:new.costo_produzione - :old.costo_produzione) WHERE piazzetta_tot.id_regista = :new.cod_regista;
END IF;
END;