salve,
espongo il mio problema con la speranza di avere una risposta quanto prima

Ho 2 tabelle in un DB Mysql:
- la prima si chiama contratti ed è composta dai seguenti campi: idContratto (bigint 11), NomeContratto (varchar), DataContratto (date), NomeAmministrazione (varchar), ValoreEconomico (decimal 11,2)
- la seconda si chiama percentuali e prevede i seguenti campi: idPercentuale (bigint 11), [I]Anno[I] (bigint 4), Percentuale (bigint 2)

Vorrei creare una terza tabella che si chiami contrattiattualizzati che preveda gli stessi campi della tabella contratti, più un ulteriore campo che mi indichi l'anno di attualizzazione (e che quindi dovrebbe essere un bigint 4) e una store procedure che faccia quanto segue: per ciascun contratto (idContratto) presente nella tabella contratti dovrebbero essere fatti tanti INSERT nella nuova tabella quanti sono gli anni di differenza tra la DataContratto e la Data corrent e, per ciascun INSERT, dovrebbe essere applicata la percentuale definita nella tabella percentuali al ValoreEconomico presente nella tabella contratti, a partire da un dato anno.

Faccio un esempio
nella tabella contratti ci sono 2 contratti:
1) idContratto = 1; NomeContratto = Contratto1; DataContratto = 2009-05-12; NomeAmministrazione = Amministrazione1; ValoreEconomico = 100,00
2) idContratto = 2; NomeContratto = Contratto2; DataContratto = 2010-01-15; NomeAmministrazione = Amministrazione2; ValoreEconomico = 100,00
3) idContratto = 3; NomeContratto = Contratto3; DataContratto = 2008-11-01; NomeAmministrazione = Amministrazione3; ValoreEconomico = 100,00

nella tabella percentuali ci sono le seguenti righe:
1) idPercentuale = 1; Anno = 2009; Percentuale = 5
1) idPercentuale = 2; Anno = 2010; Percentuale = 7

nella nuova tabella dovrebbero comparire le seguenti righe:
1) idContratto = 1; NomeContratto = Contratto1; DataContratto = 2009-05-12; NomeAmministrazione = Amministrazione1; ValoreEconomico = 100,00; AnnoAttualizzazione = 2009;
2) idContratto = 1; NomeContratto = Contratto1; DataContratto = 2009-05-12; NomeAmministrazione = Amministrazione1; ValoreEconomico = 100,00-(100,00/100*7); AnnoAttualizzazione = 2010
3) idContratto = 2; NomeContratto = Contratto2; DataContratto = 2010-01-15; NomeAmministrazione = Amministrazione2; ValoreEconomico = 100,00, AnnoAttualizzazione = 2010
4) idContratto = 3; NomeContratto = Contratto3; DataContratto = 2008-11-01; NomeAmministrazione = Amministrazione3; ValoreEconomico = 100,00; AnnoAttualizzazione = 2008
5) idContratto = 3; NomeContratto = Contratto3; DataContratto = 2008-11-01; NomeAmministrazione = Amministrazione3; ValoreEconomico = 100,00-(100,00/100*5); AnnoAttualizzazione = 2009
6) idContratto = 3; NomeContratto = Contratto3; DataContratto = 2008-11-01; NomeAmministrazione = Amministrazione3; ValoreEconomico = 100,00-(100,00/100*5)-(100,00-(100,00/100*5))/100*7; AnnoAttualizzazione = 2008

La store procedure dovrebbe lavorare in background senza lanci da codice.

Spero di essere riuscito a spiegarmi e che riuscite a darmi una mano nel più breve tempo possibile.

GRAZIE