« Prec. | Suc. »
PostgreSQL: generare delle sequence senza salti
Le sequence sono un supporto, fornito dalla stragrande maggioranza dei database, per generare dei valori numerici univoci, che possono poi essere usati per identificare ogni singola riga di una tabella. In PostgreSQL, la sequence risulta in pratica essere un numero intero sempre crescente e che non viene più riutilizzato: se il numero n, che otteniamo dal sistema, viene utilizzato in una transazione che poi sarà abortita, il prossimo numero sarà comunque almeno n+1.
Ci sono, però, situazioni in cui non è sufficiente che la numerazione sia sempre crescente ma che non presenti “buchi”; e questo non è possibile “right out of the box” con PostgreSQL.
Che fare?
In questo articolo, la soluzione proposta consiste nel creare una tabella di appoggio, che una funzione si occuperà di aggiornare; questa funzione sarà quella usata come default per la tabella vera e propria che, come è lecito aspettarsi, non consentirà cancellazioni.
I dettagli sono nell’articolo e dovrebbero essere piuttosto chiari; in casi di dubbi i commenti sono a disposizione.
Per proseguire
Commenti e trackback sono disabilitati.
