[ SteleStudent @ 08.03.2010. 18:30 ] @
Ceo dan se mucim sa ovim, pretrazivao sam net ali nisam uspeo da se snadjem.
Dakle imam sledeci zadatak:

U bazi postoje dve tabele: faktura i stavkafakture.
stavkafakture ima polja brkomada, brkartona i cenapokom.
Ukupna vrednost stavke se racuna po formuli: brkomada * brkartona * cenapokom.
U tabeli faktura uvedena je denormalizacija tako sto je dodata kolona ukupnavrednost koja predstavlja zbir svih pojedinacnih stavki vezanih za fakturu.
Kako da definisem proceduru i triger koji ce prilikom insert-a nove stavke da preracuna ukupnu vrednost u tabeli faktura?

Pomagajte ...
[ MarkoBalkan @ 08.03.2010. 22:22 ] @
http://www.elitesecurity.org/t...mjer-trigera-automatki-izracun

ovo je za mysql, ali princip je isti.
[ michaelk @ 11.03.2010. 08:18 ] @
Code:

CREATE OR REPLACE FUNCTION "public"."trig_stavka_sum" (
)
RETURNS trigger AS
$body$
DECLARE
    tmp_iznos         NUMERIC(18,2);
  
BEGIN

    tmp_iznos := NEW.brkomada * NEW.brkartona * NEW.cena ;
    UPDATE "faktura" SET ukupnavrednost = ukupnavrednost + tmp_iznos
      WHERE faktura.id = NEW.id_faktura ;

    RETURN NULL ;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

CREATE TRIGGER "trig_stavka_sum" AFTER INSERT 
ON "public"."stavkafakture" FOR EACH ROW 
EXECUTE PROCEDURE "public"."trig_stavka_sum"();


Otprilike ovako nesto.