Oracle
 sql >> Database >  >> RDS >> Oracle

Come posso riutilizzare gli intervalli di sequenza Oracle nella colonna della chiave primaria?

Vuoi dire, la sequenza restituirà mai un valore che si trova in un intervallo "gap"? Non credo, a meno che non lo lasci cadere/ricrea per qualche motivo. Immagino che potresti scrivere una funzione di qualche tipo per trovare i gap PK nella tua tabella, quindi salvare quegli intervalli di gap su un'altra tabella e "rollare" la tua funzione di sequenza usando la tabella gap. Molto brutto. Cercare di "recuperare" queste lacune suona solo come un tentativo disperato di evitare l'inevitabile:il tipo di dati java PK dovrebbe essere allineato con il tipo di dati DB. Ho avuto lo stesso problema molto tempo fa con un'app VB che aveva una chiave di classe definita come intero a 16 bit e la sequenza superava i 32 K, dovevo cambiare le variabili in Long. Dico, mordi i proiettili e fai la conversione. Un po' di dolore ora, ti farà risparmiare un sacco di dolore in corso in seguito. Solo la mia opinione.