[Db] Trigger o altro?
Giovanni R.
linfo2003 a libero.it
Sab 2 Giu 2007 13:51:51 CEST
Ciao a tutti.
Ho due tabelle, Prodotti e Offerte, connessi da una relazione 1:N.
Quando vado a visualizzare l'elenco dei prodotti, vorrei visualizzare
anche il numero di offerte associato al singolo prodotto (e anche altre
informazioni simili, ma lasciamo perdere).
Posso agire, credo, in almeno tre modi:
1) una query su Offerte per ogni prodotto;
2) una unica query con inner join sulle due tabelle;
3) l'uso di un nuovo campo, Numero_Offerte, in Prodotti.
Vorrei evitare le prime due soluzioni per questioni di prestazioni.
Siccome vorrei anche evitare di dover andare "manualmente" a modificare
via PHP quel nuovo campo ogni volta che viene fatta o ritirata
un'offerta, avevo pensato che forse i dbms mettono a disposizione
qualche strumento automatico per aggiornare Prodotti.Numero_Offerte in
base alle query INSERT/DELETE effettuate su Offerte.
Avevo pensato ai trigger, che ahimé attualmente ancora non conosco: devo
proprio imparare ad usarli, oppure c'è un'altra soluzione? :-)
In realtà il problema non sono i trigger in sé, ma il linguaggio, spesso
proprietario, utilizzato per scrivere le relative funzioni: siccome non
amo scrivere codice poco portabile, ho sempre rinviato lo studio delle
stored procedure. :(
Ciao, Giovanni
ps. al limite, per ora creerò le mie "pseudo stored procedure" in PHP...
Maggiori informazioni sulla lista
Db