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