Pogledajte određenu poruku
Staro 17. 03. 2008.   #10
DejanVesic
old school
Professional
 
Avatar DejanVesic
 
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
DejanVesic će postati "faca" uskoro
Default

Ništa, onda mora teška artiljerija:


- Kreiraš tabelu koja ima strukturu kao pogled:

`GrupaID`, `Delatnost_ID`, `BrojOglasaPlacenih`, `BrojOglasaNeplacenih`

- Kreiraš Trigger-e nad tabelama besplatni_oglas, placeni_oglas, delatnost koji će:

Placeni / Neplaceni (za delatnost_id):

1. Na insert da uvećaju odgovarajuće polje iz sloga gornje tabele
2. Na delete da smanje odgovarajuće polje iz sloga gornje tabele
3. Na update da smanje odgovarajuće polje iz sloga gornje tabele za staru vrednost sloga a da uvećaju odgovarajuće polje za novu vrednost sloga

Delatnost:

1. Na insert da dodaju slog gornjoj tabeli
2. Na delete da ga obrišu

Ovo ti je najčistije rešenje za agregatnu tabelu; jedino moraš da se pobrineš da kreneš od "prazne" baze, bez slogova u te tri tabele, da bi trigeri mogli sve to lepo da popune.
__________________
http://www.vesic.org | Blog: http://www.vesic.org/blog/ | Fina kolekcija programa: http://www.vesic.org/programi/
DejanVesic je offline   Odgovorite uz citat