linux user group brescia

immagine del castello

Archivio della mailing list

trigger ?

marco ghidinelli marcogh a linux.it
Lun 17 Ott 2005 12:04:56 UTC
On Mon, Oct 17, 2005 at 12:59:29PM +0000, cartolina wrote:
> 
> sto giocando con postgres, e mi sono immaginato una tabella che abbia 
> dei campi doppi,
> uno con la descrizione, leggibile da un commerciale qualsiasi,
> e uno con un integer da poter passare a delle query per velocizzarle.
> es:
> ecc,
> nome varchar(),
> nome_id integer

direi che stai partendo nella direzione sbagliata.

secondo me (e penso secondo qualche principio noto nei database)
dovresti mettere in tale tabella solo l'id del campo che ci vuoi
aggiungere, e poi una tabella esterna che contiene l'id associato alla
descrizione.
 
> ed un'altra tabella con le associazioni descrizioni - indici
> nome | nome_id
> gino   |1
> pino   |2

quindi vorresti addirittura replicare i campi descrittivi?
 
> da quel che ho letto dovrei avere una funzione che, al momento di 
> inserire il nome nella prima tabella,
> vada a chiedere l'integer corrispondente alla seconda tabella e lo 
> inserisca nel campo nome_id
> ed un trigger che esegua la funzione al momento di insert or update

si, le funzioni ci sono, e ti permettono di fare un sacco di cose.
purtroppo non mi ricordo se erano le trigger o le stored procedures che
ti interessano. (non ricordo nemmeno se sono la stessa cosa).

> e' corretto o esistono sistemi piu' semplici?

non ho ben capito quello che vuoi fare, pero'.

-- 
BOFH excuse #220:

Someone thought The Big Red Button was a light switch.



Maggiori informazioni sulla lista Lug