PostgreSQL a vykovani triggeru
Zdenek Janis
Zdenek.Janis na brajan.cz
Pondělí Duben 11 14:06:38 CEST 2005
Dobry den,
narazil jsem na nasledujici problem:
tabulka "A" - hlavicka faktur
tabulka "B" - polozky faktur
na tabulce "B" trigger, ktery po (after) pridani, odebrani, zemene
polozky faktury (zaznam v tabulce "B") aktualizuje cekovou castku, ktera
je vtabulce "A". Dale mam funkci, ktera jako parametr dostane polozku
faktury, kterou vlozi do tabulky "B" a nacte celkovou cenu z tabulky "A".
Predpokladal jsem, ze po insertu do tabulky "B" me trigger aktualizuje
castku v hlavicce (tabulka "A") a jake bylo me prekvapeni, kdyz jsem
dostal z fukce hodnoty jako by se triget neprovedl... Jenze on se
provedl, ale az po skonceni funkce (overeno oblibenym raise notice 'bla
lba'), coz je ponekud neprijemne.
Lze toto chovani nejak zmenit? Aby se triger provedl skutecne hned po
insertu? Vim, ze to muzu obejit tak, ze ten vypocet co provadim v
triggeru provedu ve funkci, ale v triggeru se mi to zdalo takove
elegantnejsi.
--
S pozdravem
Zdenek Janis
Další informace o konferenci Test