| From: | nicola zandonà <nick(dot)zando(at)gmail(dot)com> | 
|---|---|
| To: | Gianni Ciolli <gianni(dot)ciolli(at)2ndquadrant(dot)it> | 
| Cc: | pgsql-it-generale(at)postgresql(dot)org | 
| Subject: | Re: gestione dei periodi | 
| Date: | 2009-11-18 20:07:31 | 
| Message-ID: | 4509A838-7207-4E00-ABA9-C59C7BF2D151@gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-it-generale | 
Ciao Gianni,
Grazie per la tua soluzione, non ho mai scritto una stored procedure  
quindi mi documento a riguardo.
Non c'è problema per gestire il numero di record, non sono molti record.
L'alternativa che ho in mente:  un trigger che vada a completare il  
campo mancante agendo su una copia della tabella che ho attualmente.
Ciao,
Nicola
Il giorno 18/nov/09, alle ore 20:49, Gianni Ciolli ha scritto:
> On Wed, Nov 18, 2009 at 01:59:35PM +0100, nicola zandonà wrote:
>> Esite il modo di completare data_fine con la data_inizio del periodo
>> successivo dello stesso paziente?
>
> Per fare questo io scriverei una stored procedure
> aggiorna_data_fine_paziente, la quale accetta come input l'id del
> paziente, e svolge la seguente operazione: scorre tutti i record di
> quel paziente in ordine "prima il più recente", e aggiorna la
> data_fine di ogni record con la data_inizio del record precedente,
> ovviamente solo dal secondo record in poi.
>
> Poi non ti rimane che fare
>
>  SELECT aggiorna_data_fine_paziente(codice)
>  FROM (SELECT DISTINCT codice FROM tabella) x;
>
> in questo modo la stored procedure verrà eseguita esattamente una
> volta per ogni paziente.
>
> Dovrebbe funzionare agilmente su un server normale, quale che sia il
> numero (ragionevole) di pazienti: il caso assurdo di un ospedale con
> mille posti letto che ospita mille pazienti diversi al giorno per
> cinquant'anni di fila totalizza 18 milioni di pazienti; il caso
> assurdo di un paziente che è stato in ospedale 100 anni avendo
> cambiato reparto ogni ora non raggiunge gli 800000 record.
>
> Ciao
> Dr. Gianni Ciolli - 2ndQuadrant Italia
> PostgreSQL Training, Services and Support
> gianni(dot)ciolli(at)2ndquadrant(dot)it | www.2ndquadrant.it
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mirko Pace | 2009-11-18 20:43:35 | Re: gestione dei periodi | 
| Previous Message | nicola zandonà | 2009-11-18 19:58:00 | Re: gestione dei periodi |