[Db] prima nota e triggers

Domenico L. domenico.lorusso a pleiade.it
Ven 26 Gen 2007 09:37:23 CET


Marcello Vezzelli ha scritto:
> Ciao a tutti,
> come prima o poi succede a tutti mi trovo ad implementare una prima 
> nota.. un po' atipica se vogliamo.
>
> Ogni giorno ci sono 15 entrate fisse, positive o negative... ho 
> strutturato così la tabella:
>
> DATA date // data di riferimento, PK
> T1 double // saldo giorno precedente
> D1 double // importo 1
> D2 double // importo 2
> D3 double // importo 3
> [..]
> D4 double // importo 14
> D5 double // importo 15
> T2 double // saldo attuale
>
> Un bel trigger sul BEFORE INSERT e sul BEFORE UPDATE calcola T2, 
> facendo T1+D2+D3+D3+..+D14+D15. [..]
mah.... mi sembra di ricordare questo problema... cmq... mi sembra anche 
di ricordare che nei trigger non puoi utilizzare dml (se stiamo parlando 
di Mysql)

Cmq per la struttura dei record effettivamente dovresti scatenare dei 
nuovi trigger... però non possono essere sulla stessa tabella.
Questo con nessun dbms puoi farlo.

In un trigger su una tabella non puoi modificare la stessa tabella.

poi perché il trigger è before? scusa tu prima fai in modo che il dato 
venga inserito poi ricalcoli i saldi
che per altro è piuttosto banale, perché nei triggere hai old e update

update tab
    set saldo=saldo-:old.value+:new.old
where data >= :new.data

ciao

-- 
Domenico L.                             icq: 645 44 861

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]



Maggiori informazioni sulla lista Db