[ galisnik @ 24.10.2005. 22:01 ] @
U jednu tabelu smjestam podatke o primkama i racunima (tacnije 2 tabele tipa Master i Detail). Zbog velikog prometa i 4 kase u tom objektu, izracunavanje stanja zaliha je vec sporo, a gazda je opsjednut da u svakom trenutku ima tačno stanje, i sad mu je ovo sporo.
Moja ideja je da napravim pomocnu tabelu u kojoj cu da drzim sifru artikla i kolicinu koja bi se azurirala pomocu trigera after_insert tipa za Detail tabelu knjizenja. Tada bi stanje zaliha bilo prakticno momentalno izracunavano, znaci dobilo bi se na brzini. Mene sad zanima sledece:
DA LI JE DOVOLJAN TIP TRANSAKCIJE READ COMMITED, da bih bio siguran da svaki zapis pojedine stavke dokumenta (primke i racuna) nece nesto profulati, te tako stanje ne biti tacno (primka dodaje kolicinu, racun oduzima)? Unutar transakcije naravno vrsim insert into u Master i Detail tabelu, a triger azurira tabelu sa stanjem artikala, tako da ako nesto krene po zlu sve se promjene ponistavaju sa rolback. Da li sam u pravu, pitam one koji imaju vise iskustva sa Firebirdom. Server je 1.5.2
Hvala unaprijed za svaku sugestiju.
[ Riste Pejov @ 26.10.2005. 08:48 ] @
READ COMMITED sa record versioning ti je sasvim dovoljan ukoliko ti triger update-uje polje DML-om slicnom na:

update lager set stanje = stanje +/- :value where artiklID = :artiklID

Izbegavaj update u stilu

SELECT val
INC val
UPDATE val

Pozdrav,